home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Zoom 2
/
Zoom - Release 2 (1996)(Active Software)[!].iso
/
texts
/
raytracing
/
compendium
next >
Wrap
Text File
|
1994-08-30
|
136KB
|
2,553 lines
The Imagine Compendium, version C
(8/27/91)
ImagineComp: General articles, posts, and miscellany
edited by Sandy Antunes (antunes@astro.psu.edu)
======================== INDEX ==========================================
(new entries are in lowercase, old (version B) entries are all capitals)
a. Intro to this edited compilation, by myself (Sandy Antunes)
b. Intro to the Imagine mailing list, by Steve Worley
c. Comment by Colin Stobbe
1. Accelerating a Rotating Object, by Jim Lange:
2. ANTI-ALIASING (and the jaggies), by Steve Menzies:
3. ATTRIBUTES- fixes, by Dave Schreiber:
4. ATTRIBUTES- LIST, by Steve Worley:
5. ATTRIBUTES-some sources for, by Mark Thompson:
6. ATTRIBUTES- set to zero, by Dave Schreiber
7. Avoiding Intro pic, by Duane Fields:
8. Avoiding Intro pic II, by Steven Webb:
9. BACKDROPS/FRONTDROPS, by Steve Worley:
10. BAR COMMANDS, by Jim Lange:
11. BEVELLED EDGES I, by Steven Webb:
12. BRUSH WRAPS I, by Bill Squier:
13. BRUSH WRAPS II, by Mike Halvorsen:
14. BRUSH WRAPS III, by denbeste@ursa-major.spdcc.com:
15. BRUSH WRAPS IV, by Scott Sutherland:
16. BRUSH WRAPS V-- a corrosion brush wrap, by Matt Feifarek:
17. BRUSH MAPS, by Steve Worley (a treatise on the subject):
18. BUMP MAPPING, by Udo Schuermann:
19. BUMP MAPPING II, by Sean Schur:
20. BUMP MAPPING III, by Mark Thompson:
21. CAMERA FOCAL LENGTH, by Richard Nollman:
22. CAMERA FOCAL LENGTH II, by Udo Schuermann:
23. Changing World Size II, by Udo Schuermann:
24. Clouds and Fog, by Marc Rifkin:
25. Complex Models, by Steve Worley:
26. CYCLE/DETAIL GROUPS, by Helge Egelund Rasmussen:
27. Extruding along a path, by Sean Schur:
28. Filter Brushes, by Udo Schuermann:
29. Fracture, Split, and Taut in Detail Editor, by Steve Worley:
30. GLASS- The Art Of Glass, by Steve Worley:
31. LASERS & SPECIAL EFFECTS I, by Sandy Antunes:
32. LASERS AND SPECIAL EFFECTS II, by Edward Chadez:
33. Light Brightness, by Steve Worley:
34. Light Placement, by Don Whitaker:
35. MERGE, by Steve Worley:
36. METALS, by Mike Halvorsen:
37. METALS II, by Mark Thompson:
38. Mirrors, by Steve Worley:
39. Morphs, Mark Thompson:
40. Movement control, by Steve Menzies:
41. PATHS I, by Stephen Menzies:
42. PATHS, by Steve Worley and Rick Rodreguez:
43. Planets made by Imagine, by Steve Worley:
44. QUICKER RENDERING, by Steve Worley:
45. RENDERING TIMES, by Stephen Menzies:
46. RESIZING (AND AVOIDING SPIKES), by Scott Sutherland:
47. RETRACKING THE CAMERA, by ???????:
48. ROTATING, by Udo Schuermann:
49. Shadows on mapped surfaces, by Steve Worley:
50. SKIN, by Kevin Goroway:
51. SLICE I, by Kevin Goroway:
52. Slice II, by Colin Stobbe;
53. SNAPSHOT I, by ?????:
54. SNAPSHOT II, by Scott Sutherland:
55. Starfields I, by Matt Feifarek:
56. Starfields II, by Juan Trevino:
57. TEXTURE AXIS, by denbeste@ursa-major.spdcc.com:
58. TEXTURES, by Steve Worley (a full treatise on the topic):
59. Wall Paintings, by Udo Schuermann:
60. Walls I, by Mark Thompson:
61. Walls II, by Steve Worley:
62. WORLD SIZE I, by ???????
63. World Size II, by Steve Worley:
----------------------------------------------------------
(in second part, ImagineAppendix)
APPENDIX A: DETAIL TUTORIAL (by Steve Worley)
APPENDIX B: FORMS TUTORIAL (by Steve Worley)
APPENDIX C: VIDEOTAPE
i) dumping to videotape
ii) comments on dumping to videotape
iii) more comments on dumping to videotape
APPENDIX D: CENTAUR TAPE:
i) review
ii) second review
APPENDIX E: SURFACE MASTER
i) Advertisement
ii) Review 1
iii) Review 2
iv) Additional Details
APPENDIX F: TTDDD (an excellent shareware package).
i) getting coordinates with TTDDD.
ii) making threads.
APPENDIX G: WAY COOL PROJECTS
i) extruding picture
ii) rolling sphere
iii) 3-D font
APPENDIX H: Credits and email addresses
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
a) Introduction to this compendium, by Sandy Antunes:
Hello. Welcome to the third version of the Imagine Compendium.
This collection consists of postings to the imagine mailing list, and is
clearly at book length at this point. It is an edited, indexed, and
condensed subset of the 621,681 byte (compressed!) complete archives
which are availible in their entirety at hubcap.clemson.edu. It represents
many people's suggestions, advice, and ideas. This posting is freely
redistributable except that it may not be sold or distributed for profit.
I have tried to keep citations of the original authors with each posting.
However, I have edited many of the postings, most notably in taking out
chunks of intro header, quoted earlier postings, and .sig files (and a bit
of spelling errors). I take responsibility for any muddling of information
this may cause. Neither I nor the original authors are liable for damages,
however-- you use this collection at your own risk. :)
If anyone notices an error or an incorrect citation, please email me
(antunes@astro.psu.edu) so that I may change this for future versions.
Also, if you want to take over this editing project for future years, please
let me know, as I am entering my thesis work and may not have time to keep
this up.
In general the latest version will be posted to abcfd20.larc.nasa.gov
(128.155.23.64) in the /incoming/amiga directory and to hubcap.clemson.edu
(130.127.8.1) in the /pub/amiga/incoming/IMAGINE/TEXT directory, under the
name ImagineComp##x.lzh, where ## is the year of that edition and x is the
version: a,b,c, etc. I will announce when a new version is posted to the
imagine mailing list. I do not expect to update this terribly frequently,
perhaps every few months.
There are two sections, kept seperate to make reading easier. The
compendium is lharced to save on space and make distribution easier.
The main body is "bread and butter" Imagine advice. The second section
contains the appendices, consisting of Steve Worley's Detail and Forms
tutorials, imagine-related topics and projects, as well as a list of
contributor email addresses. All material should be current with the
latest release of Imagine 1.1. The Index is exactly like the respective
section headings, so you can use grep, editor searches and the like to skip
through this document. ImagineComp.91b headlines (the previous version)
are all in upper case; the newer entries are lower cased. Therefore, if you
merely wish to update your version, attack this at will with a text editor
to cut out the reruns.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
b) (old) Intro to the Imagine Mailing List, by Steve Worley
"I am Steve Worley, an MIT student, and I created and maintain this
list. The list began the last week of January 1991, about 3 weeks
after I got Imagine and wanted a forum to discuss problems, questions,
and tricks for this wonderful piece of software. [Wonderfully
frustrating, sometimes!] The list is alive and well, with roughly 6-12
posts a day.
Membership of the list is at 174 as of this morning, and I add about
one person a day. Near the beginning of April I'll post another invite
on c.s.a.graphics, which might net about 30-50 more. We recently
passed the 450 message mark.. we should have a party or something for # 500.
Anyway, for those new to the list, you probably realize that this is a
discussion group about Imagine, Impulse's ray-tracer and modeler for the
Amiga. Tips, questions, answers, comments, complaints, bug-workarounds,
and anything somewhat pertaining to Imagine is fair game. This includes
DCTV/Colorburst questions (what a thread!), Lightwave comparisons
(Ask Mark Thompson), removable media drives (for big anims), and reviews of
Vista (Virtual landscapes in a box), which are just a few of the tangent
subjects that I remember seeing discussed on the list. They're all fair
game, though baseball stats are probably a bad thread to start.
Probably the highest volume traffic is question and answer- "My objects
don't all render in trace mode, but it's fine in scanline. Whats up?"
There are a lot of people on the list at different experience levels,
and if you've been reading you realize there is a lot of support out
there. DO NOT BE AFRAID TO POST TO THE LIST! Even the most experienced
users might not have thought of your idea or question before, and
everyone benefits from the discussion. Odds are you'll get help and
advice- remember the ideas that came our from Mark Mane's (sp?) idea
about a walk through of a house? There were about 8 posts giving
suggestions, and pointing out possible path and lighting problems and
fixes for them.
How do you send something to the list? It's pretty easy. You just send
mail to "imagine@athena.mit.edu" as the recipient's name. Your letter
is copied 171 times and mailed to everyone on the list. That's it! If
you want to deal with administrivia like adding/subtracting a name on
the list, mail me personally, spworley@athena.mit.edu, and I'll try to
help out.
One danger- if you REPLy to a mail message from the list, you are
probably NOT sending a copy to the list, but only to the original
owner. To post a followup to the list, either compose a new letter,
or remember to change the "To:" line in the reply to
"imagine@athena.mit.edu", unless of course you WANT a private reply.
Occasionally when you post, you might get a very strange bounce message,
from a place you've never heard of before. These are problems caused
by users with buggy/lame/confused mailers that I've added to the list.
When the mail sent to them is bounced, their brain-dead mailer doesn't
send the bounce to the SENDER (the Imagine server) it sends it to whoever
is in the "From:" line (you!). If you get these when you post, you can
ignore them. (If you're worried, wait until you see your message appear,
usually about a 24 hour turnaround) You can also send me personal mail
if you like- I keep culling the bad addresses (from users I've just
added) and it might help. Summary, though- don't worry about the bounces
from stuff you send, as long as you see your message appear on the list.
There are two semi-archives of this mailing list, and two FTP sites where
you can find them. The archives are found at hubcap.clemson.edu as well
as ab20.larc.nasa.gov. In addition to these excerpts, there are also a
couple of megs of Imagine objects (That I converted long ago) as well
as some other fun things, like a Vista landscape, a new Imagine icon, and
a complete project called "Castle" by Helge Rassmussen. I have in my
own account a COMPLETE archive of all the messages, and someday I might
even edit-assemble them together.
One last note- this list and its messages are completely
distributable. A couple of BBSes carry our discussion, and a few "members"
of the list are actually mailing lists in their own right. Feel free to
copy or distribute the info on the list, as long as you 1) credit the
authors of individual messages (keeping their names is all you need) and
mentioning the source, the USENET Imagine Mailing List,
imagine@athena.mit.edu. That's it!
Remember, don't be afraid to post! It's free! It's fun!"
Keep on rendering,
---------------------------------------------------------------------------
Steve Worley spworley@athena.mit.edu
---------------------------------------------------------------------------
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
c) Positive Comment and Great Attitude from Colin Stobbe:
(the following was one of the responses to the aforementioned house project)
"Hello,
In regards to your 'housing project', it sounds like an interesting
idea. Don't let anyone tell you it's 'far far to big a project for a
beginner', however. When I first got Turbo Silver, people told me that
what I was attempting was too ambitious, but I did it anyways, learned
a lot about the program and won 1st place in the local user groups
animation contest. I don't know about anyone else, but I don't really
learn when I'm just doing really simple things, by trying something
'too hard for me', I may not accomplish it, but at least I'll learn alot."
Colin Stobbe
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1. Accelerating a Rotating Object, by Jim Lange:
Here is another way to accelerate a rotation. Create a small circular path
(can be an open path, but you'll need more than two axes), then scale it so
it is very small, then attach your sphere to this path and set the alignment
bar to 'align to path'. The idea is that the sphere will not move
perceptibly from it's fixed position, but it will rotate as it follows the
path. You can then apply whatever acceleration you wish. I am using this
technique for a swinging pendulum effect.
Actually the path doesn't have to be tiny to eliminate non-rotational motion,
just offset the sphere axis to match the radius of the curve. Thus if the
curve radius is 1 unit and counter clockwise, then the sphere axis should be
moved 1 unit on the X axis. The Y axis will then align with the path and the
true center of the sphere will remain at the center of the path.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2. ANTI-ALIASING (and the jaggies), by Steve Menzies:
>Question 3 (last one for now): I noticed the dreaded jaggies on the mirror
>ball that fills the screen mentioned above. Is there anything I can do to
>avoid them? I had thought that closeups on spheres (even in ham resolution)
>made it easier for the software to compensate for jaggies (more pixels in
>the curve). Will 24-bit rgb color (Colorburst) seriously reduce the jaggies
>even in HAM resolution (320x400)? (R. Nollman)
The .config file for anti-aliasing defaults to 30. This is ok, but not
great. The best is 0 and final rendering should always be 0. So you must
edit this file everyso often (before opening Im) or build a front end
on the work bench (requires programming knowledge, though). Btw , the
anti-aliasing is EDLE in .config file.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3. ATTRIBUTES- fixes, by Dave Schreiber:
I've noticed areas of discoloration on objects of mine as well. I've found
that going into the attributes editor and reseting all the unused attributes
to zero solved my problem (for example, as part of a recent still-life,
I made a flat box with a wooden texture. The only attributes I set were
color, dithering, and Texture 1. When I rendered the image, one face of
the box was purple. I went back and set set the other attributes to zero
explicity; the box then rendered perfectly). It appears that there is
a bug in Imagine's `defaults' handling that causes weird things to
happen if attributes aren't explicity set.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4. ATTRIBUTES- LIST, by Steve Worley:
Here are some nice attributes: use them as you will:
Black Gloss: (fururistic- looks sleek. Shine & reflect can be boosted.)
Color 15 15 15
Reflect 40 40 40
Filter 0 0 0
Specular 255 255 255
Dither 255
Hardness 200
Roughness 0
Shininess 100
Brick (red clay with mortar type) ->very nice.
C 112 11 5
R 0 0 0
F 0 0 0
S 155 70 31
D 255
R 118
Sh 0
Brick Texture:
Size 24 14 5
Mortar: 1.1
Xshift 12 12
Zshift 2.5
mortar color 60 60 60
Chrome (mediocre quality, needs tweeking)
C 60 60 80
R 240 240 255
F 0 0 0
Sp 240 240 255
Dith 48
hard 247
rough 0
shine 177
Glass (beautiful! has just the right tint)
C 31 28 86
R 45 45 65
F 235 235 255
Sp 255 255 255
Dith 48 ?
hard 230
Rough 0
Shine 0 <=- CRITICAL
Index of Refr 1.50
Sandstone (great color, surface. Bands from wood texture can be played with)
Color 152 94 70
R 0 0 0
F 0 0 0
Sp 197 76 74
dith 255
hard 43
rough 125
shine 0
texture: wood
colr 118 50 30
ring sp 10
expon 7
variat .97
random seed (pick!)
Battleship grey paint (neutral. OK.)
color 104 104 104
Ref 30 30 30
F 0 0 0
Sp 130 130 170
dith 255
hard 162
rough 10
shine 30
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
5. ATTRIBUTES-some sources for, by Mark Thompson:
To truly mimic materials such as the ones you mentioned requires calculations
and parameters that most renderers do not take into account due to both
user complexity and computational expense. For a really good discussion
on this topic including a survey of common rendering equations and a possible
solution see the November 1990 IEEE Computer Graphics & Applications article
"A Realistic Lighting Model for Computer Animators" by Paul Strauss.
However, Imagine does have have enough available parameters to do a fair
job. "Illumination and Color in Computer Generated Imagery" by Roy Hall is
an excellent book for describing the problem of realistic surface rendering
and has a number of tables, plots, and guidlines for rendering various
materials. In Hall's book, he references Purdue University (1970)
"Thermophysical Properties of Matter", Thermophysical Properties Research
Center, for the various spectral curves and data for a multitude of
materials. Another possibility would be to check the book written for
Turbo Silver users (I think its by Victor Osaka but I'm not sure) but
I don't know if it covers this topic. Finally, a good rule of thumb for
metals is to keep the spectral and reflected colors close to the surface
color, don't overdo the reflectivity, and use a moderate hardness.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6. ATTRIBUTES- set to zero, by Dave Schreiber
I've noticed areas of discoloration on objects of mine as well. I've found
that going into the attributes editor and reseting all the unused attributes
to zero solved my problem (for example, as part of a recent still-life,
I made a flat box with a wooden texture. The only attributes I set were
color, dithering, and Texture 1. When I rendered the image, one face of
the box was purple. I went back and set set the other attributes to zero
explicity; the box then rendered perfectly). It appears that there is
a bug in Imagine's `defaults' handling that causes weird things to
happen if attributes aren't explicity set.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7. Avoiding Intro pic, by Duane Fields:
No problem, just load "Imagin.pic" into Deluxe Paint (or whatever), and clear
the screen. Now save over. What you have is a blank picture with the same
pallette as before! Loading time is next to nothing!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8. Avoiding Intro pic II, by Steven Webb:
Hello.
I made a picture that loads 50-70% faster than the old Imagine picture.
It's on Hubcap in the MISC directory. Hope you like it!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9. BACKDROPS/FRONTDROPS, by Steve Worley:
Does anyone have a good way of making backdrops or frontdrops for a scene?
These are flat images that you want to put in back of (or occasionally in
front of) a scene. For example, you might have a nice jungle picture, and
you want to make a three-d tree with a parrot in it in front of this
simple picture. The use is pretty obvious, the application is not.
The best way I've come up with to make a backdrop is the obvious one. You
take a plane (or ground for that matter) and color map the image onto it.
Then just sorta prop it up in the back of your scene, using the camera view
in the stage editor to get the position and size right. You should be
careful to keep the specular colors OFF (otherwise you'll get flat
highlights on a supposedly 3d scene).
This works all right, but shadows fall on the backdrop look just like
they're falling on a flat wall, destroying the illusion.
Frontdrops are a bit tricker. You create a plane, and colormap the image
onto it. However, you should make a SECOND copy of the plane that is black
where there is a real image and white where its just background. You then map
this onto the SAME plane, as a TRANSPARENCY map. This means that the
airplane or whatever you're composting in front will be opaque, and have
colors like an airplane. However, the outline around the airplane is
perfectly transparent, so you can't see it at all. Helge Rassmussen
used an effect like this in his Castle anim (the trees), and it works.
Its not perfect, but it's a quick and dirty solution.
Problems with this method are the same with the backdrop- shadows on
it look stupid, shadows it CASTS look stupid, and highlights destroy it.
Any ideas, people? Of course the real answer is a 24 bit paint program.
Unfortunately, I don't have one...
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
10. BAR COMMANDS, by Jim Lange:
Each of the "Bar" commands in the menu have the effect of breaking the
corresponding bar in the Action screen. So if you move an object in a frame,
in order for it to become a key frame select Position Bar and in the Action
editor the position bar for the object will be split at that frame.
Alignment Bar has the same affect when you want a new alignment (rotation)
to be registered. In your case, the camera must be manually aligned first
then Alignment Bar will create a new key frame by splitting the alignment
bar. You still must do the Amiga-C <Return> step to realign a camera that
is tracking an object, however.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
11. BEVELLED EDGES I, by Steven Webb:
bobl@graphics.rent.com (Bob Lindabury) writes:
>Am I missing something here or wouldn't it be just as easy to make a
>copy of your outline of a letter object in Imagine, shrink it say 10
>points and then move it in the Y direction 10 points and then skin
>between the two or manually create the edges and faces?
Well, at first glance, your method SHOULD work, but we don't want a smaller
copy of our original, we want a skinnier one (or a thicker one), and this
brings up our original problem with "skinning" two objects with a different
number of points, as Steve Worley posted here a few days ago.
basically, the act of making "bevelled text" is taking the sharp 90-degree
corner that is made if you consider the face of the letter one ray of the
angle and the extruded faces the other ray, and changing it to make it two
45-degree angles. In drafting terminology this is called "chamfering" and
can be done at all sorts of angles, not just 45 degrees. In super-computing
graphics this produces a nice "machined"-look for letters, and more chances
for HIGHLITES! Let's pretend that the figure below is an extruded "o" - and
we chopped off the outside "sharp" angle of the letter (usually, the inside
would be chopped too, but as for the limitations of ascii text/graphics,
I'll leave it as shown.
_______________ ______________
| | /| |\
This is | - - - - - | |-| - - - - |-|
the text| | <- center of "o" -> | | | |
face | - - - - - | |-| - - - - |-|
|_______________| \|____________|/
These are the
extruded faces.
(BEFORE) (AFTER)
If we just used the "shrinking" method that Bob mentioned above, the hole
would also be shrunk, and we would get ourselves a 'cone' effect.
So, to be completely redundant & longwinded, I'll wrap-up.
As Steve Worley stated, the method of making bevelled or chamfered text
is greatly inhanced by the use of DPaintIII's Outline/Trim function. Make
two brushes for the IFF/ILBM conversion in Imagine. One normal one, and one
trimmed or outlined.
Now you have the two out-lines in Imagine with different points. Make
both of the outlines the same size and add or delete points so that you have
two outlines with the same point count. Re-size the one that was shrunk or
enlarged originally. Skin the two outlines, add faces for the front face,
mirror it, and add the extrusion.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
12. BRUSH WRAPS I, by Bill Squier:
I had similar problems wrapping brushes on to flat planes until I
discovered something that the manual isn't too clear on. Try the
following example yourself to illustrate the (serious) caveats of brush
mapping (example assumes default function key mapping):
In the detail editor:
Select Add/primitive/Plane, and except the default plane configuration.
Select it with [F1], and edit its attributes with [F7].
Select [] Brush 1, and an appropriate IFF from the requester.
When the Axis editing requester appears, select "Edit Axis".
A yellow square appears in the "Front View", and a line in the other two
views.
Press [M] to move the axis, and drag it (in the Front View) so the center
point is just outside of the lower left hand corner. The "Front" display
will now look something like:
z
---------
| : |
| : |
| .===|x
--|-- |
| | | |
| .==-----|
| |
-----
Where the smaller square is the yellow brush axis. Note also that in
the top view, the two X axes are directly on top of each other (you may
have to be zoomed in before you begin to see this). Here lies the first
problem. Apparently, in order for Imagine to wrap the brush correctly
on to a surface, the brush axis must be offset slightly to one side or the
other. Before we do that, SCALE the brush with the "S" command so that
the top right quadrent (the positive axes) encompass the entire plane.
Now go to the top window and MOVE the yellow x-axis to at least 1 pixel
below the orange axis. You'll note that it also moves one pixel in
front of the orange axis in the right view. It is important that you
remember which face is the "front" of your plane. In my test renderings
you see a blotchy-patchy IFF from the other side. You will see this
same problem on both sides if you let the X axes sit on top of each other.
With all of that completed, press the space bar to return to the
requester, and select [OKAY] to return to the Attributes requester. To
get the best image, turn "Dithering" way down (I usually set it to
zero), and select [OKAY]. Save your object, and move to the stage editor.
At this point, the only thing you have to remember is which was the
"front" of your object, and make sure the camera is pointing at it.
For other objects, just remember that the positive portion of the brush
axes is the part that contains the image. It is this top right quadrant
(from the Front view) that must be enlarged and centered on the object.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
13. BRUSH WRAPS II, by Mike Halvorsen:
First off there are three basic kinds of wraps and they all have to do with
the axis of the brush itself. These types are:
Wrap X and Wrap Z, Wrap Z Flat X and Flat X Flat Z. You may notice that It
seems that I have left Flat Z Wrap X out, I hardly ever use this type because
I can do the same thing with Wrap Z aand Flat X.
The brush that is loaded when you tell it to assign a brush to an object is
brought in at the center of the axis. IT is mapped in from the center and
moves outward in the positive direction of the Z and X axis. The Z is the
vertical of the picture and the X is the Horizontal of the picture.
The simplest wrap that you can do is the Flat X and Z. It truly is the
easiest of them all.
Assume for a moment that you want to put a picture on a flat object, this
object could have depth to it or it could be a single pixel in depth, it
makes no real difference.
You assign the brush ( IFF picture) that you want in attributes requester,
then go to edit axis. The frist this that you want to do is move the
axis of the brush to the lower left corner of the object. This assumes that
the object is a simple flat object that is oriented as the axis is, by this I
mean that it looks like a wall in the front view as opposed to lying down
like a plate on a table. The Z axis of your brush should run right up the
left side of the flat object and the X axis should be just below (two or
three pixels.) the flat object. Now you must scale the Z and the X axis to
be slightly larger than the object itself. If you had a square that was
100 by 100 units then the brush axis might be 105 by 105. In this manner
you can be sure that when you palce the brush axis at the lower left hand
corner of the flat object that it will cover it like a blanket. All of this
can be done from the front view. When you scale an axis in Imagine you must
be in the LOCAL mode not WORLD mode. Repeat,,,,, LOCAL, get to this mode
after you choose, scale and then choose local. Only the aixs will grow when
you do the scale and the bounding box will just hang out and look stupid.
>From the right view you must move the axis negative in Y, just a couple of
pixels. THis moves the brush off the face of the object so that it dosen't
get stuck on the objects face plane and look just horrible.
In Turbo Silver you never had to worry about the size of the Y axis. In
Imagine you DO. The Y axis defines the depth of the brush or map. If you
want to make a decal on something that has more than one side or depth, say
the side of a truck. You want to put your companies logo there, but you
only want it on one side. No problem, position the brush axis where you
want it to appear and then decrease the size of the Y axis to be smaller than
the depth of your object. It will appear on one side of the object and not
the other.
This is also where it seems that many folks are getting all horsed up when
they try to make what I call, World and Can wraps using the wrap Z option.
To make a world wrap (make a sphere look like earth from outer space) you
first need a good map image. (even if you have a bad image the same applies)
With the brush assigned to your object move the axis to a couple of pixels
below the sphere, scale the Z axis in LOCAL mode to be just a bit larger
than the sphere itself. From the fron view it should look like a line from
the bottom of the sphere to the top right in the middle of the sphere. OK
now scale the X axis to be from it present location just slightly larger than
half of the sphere. It should be a couple of pixels larger than the radius
of the sphere. NOW Pay attention my friends. If the Y axis is larger than
the sphere what do you think will happen ? Of course, you just learned that
the Y axis has DEPTH and if you make it larger than the sphere it is going
to do something that you won't be able to see. It is going to wrap the
image at the end of the Y axis and if the axis is larger than the object,
it is going to put the picture wrap outside of the object, in no wrap land.
To make this go away all you have to do is make the Y axis smaller than the
object. I just make the axis 1 or 2 units in size and forget about it.
Make sure that you choose Wrap Z Flat X or Wrap Z Wrap X. You can decide
which you like better for planets and other heavenly bodies.
The last kind of wrap is the CAN wrap as I call it. You know where you want
to wrap the coke logo around a tube or can like object. Do the same thing
for the CAN wrap as you did for the sphere or global wrap. Position the
brush axis in the same place and make sure that the size of all the axis are
the same as in the sphere wrap. The only real difference here is to make
sure that you only choose Wrap Z Flat X, all other wraps will look real
spooky. See now that wasnt so bad was it. I hope this will help you in your
journeys through your own imagination. The best answer to all questions
that pertain to Imagine is ...... EXPERIMENT, EXPERIMENT and do it again.
Like you I have learned the same way that you are now learning. I tried
and tried and then did it again. I dont think much about it anymore cause
I have found what I like. You need to do the same.
Have Fun and ENJOY
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
14. BRUSH WRAPS III, by denbeste@ursa-major.spdcc.com:
Reading of the trials and travails some of you are having with wrapping
labels on Coke cans, I decided to try it for the hell of it.
Anyway, I didn't have any Coke label IFF's so I used a Sports Illustrated
swimsuit IFF I had lying around - and got it working.
After I post this, I'll be uploading an archive containing a working wrap
that you can look at. One thing I found counter-intuitive:
If the tube is one from the "primitive" menu, then it is symmetrical by
rotation around Z. In that case, the proper settings are:
Flat X
Wrap Z
The size of the brush is also somewhat counterintuitive:Given these settings,
the X size of the brush doesn't matter: The IFF is stretched to meet on the
back of the tube no matter what the brush X size is.(Except that for
reasons I don't quite understand, sometimes when I set it big the brush
went away entirely. So I didn't change it from its default size.)
However, the Z size is extremely important, as you'll see if you examine my
object.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
15. BRUSH WRAPS IV, by Scott Sutherland:
While I do NOT profess to be an expert on brush wrapping, let me
tell you what I can from 1) experience and 2) and article by Leo Schwab
in an old issue of .info (I'll look up the issue and page number if anyone
wants, but I THINK that it is the first or second PURELY AMIGA issue).
The axis placement for Flat X, Flat Z is CORRECT. However, the axis
placement you used for the other three is what is causing the problem. Think
of it like this. Imagine (no pun intended ;^) a soda can which is
cylindrically symmetric about the Z axis (standing upright in the FRONT view
of Imagine). You want to wrap a Label about it. To do this you want to
take advantage of the cylindrical symmetry. Below I will also draw spheres
for comparison with the original posted question.
CAN: Flat X, Wrap Z
Z
--|--
| | |
| | | Front View
| | |
| | |
| | |
---|---
-----X
Y
|
-
( |_)__X Top View
-
CAN: Wrap X, Flat Z (Note: not appropriate for putting a label on a can):
Z
| -----
|| |
|| | Front View
|________X
| |
| |
| |
-------
Y
|
| -
|(---)-X Top View
-
For spheres it is basically the same:
SPHERE: Flat X, Wrap Z:
Z
|
-
( | )
_
+-----X
Y
|
-
( |_)__X
-
I'll leave out Wrap Z, Flat X for spheres. PLEASE NOTE THE FOLLOWING. Some
of the above diagrams are misleading because of limitations in ASCII graphics
representations. One, the Bottom of the Z axis in the FRONT view of both
examples of Flat X, Wrap Z should be JUST below the object's lower extent
(Z). Secondly, the Top of the Z axis in these two views should be JUST above
the top if the object's upper extent (Z). The X axis in these two examples
should extend JUST beyond the outer X dimension of the object (although
I've heard differing opinions on this point). FINALLY, as you may have seen
here before, the Y-axis dimension (see TOP View) in Imagine HAS an effect
on the wrapping process (apparently not true in Turbo Silver). Set the Y
axis length to 1-2 units just to be safe.
Definitely Check out Leo's article. It IS for Turbo Silver, but the images
he shows are FANTASTIC as conceptual aids for understanding what these
wrapping modes do. I reproduced all of the images in both TS and Imagine.
As for Wrap X, Wrap Z, I do NOT know why this was included in the software,
as I have found NO use for it. Leo was just as baffled. Any comments???
Hope this helps. Let me know if you need the .INFO issue number.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16. BRUSH WRAPS V-- a corrosion brush wrap, by Matt Feifarek
I have found a neat way to make corrosion on imagine. I saw a
renderman picture of a teapot (what else?) that looked like it was made out
of old, rusty wiring. I duplicated it pretty well with Imagine with a
combination of bumpmapping and transparency mapping. Here's what to do:
1. Go into Dpaint III; hires-interlaced; grey scale palette
2. Pick a brush from the top of the toolbox... the second to largest round
one should work well.
3. Draw a big angled mess with white on the screen. Try to leave lots of
relatively large holes (quarter sized or so)
4. grab the screen or the portion of it that you scribbled on as a brush
5. pick the next grey closer to black from white... press 'o' to outline your
brush. Pick next grey, 'o' etc... until at last grey before black.
This is why you want to leave some holes... so the outlining will not
seal off all of the "hollow" areas.
6. you should now have a wiry-mess brush with VERY soft edges. This is your
bump-map (altitute map in Impulse's non-standard lingo )
7. save into your materials/bitmaps directory or wherever as corrode.bump
or something
8. open palette swap color 0 and color 1 (black and white). exit palette,
press F2 for color mode, your brush should be black with white holes.
reduce the screen format to two colors, save brush as corrode.filt.
9. exit DPIII; open Imagine
10. make your object ( this example a sphere... you therefore may wish to
change the wrapping params for planes etc. ) and open it's attributes
11. choose a color that you think is rust... not to hard or specualar...
rusty metal isn't shiny. MAKE SURE "SHINYNESS" is off... this
causes a bug that apparently disables ANY transparency (fixed in 1.1?)
12. brush 1: corrode.bump; wrapX,Z ( this is up to you... but both images
MUST have the same exact mapping coords/params etc. )
13. brush 2: corrode.filt; wrapX,Z ( or same as what you put for other image)
14. Save object and let her rip!
What happens is:
The bump map makes indentations with reversed plateaus into the
object, and the filter map makes those plateaus transparent. The objects
axis should probably be reduced to tone down the indentation caused by the
bump map... experiment here. Color mapping can be played with of course...
if you don't want rust, use a color map, or use a procedural "Texture"
map... a wooden sphere with holes carved out of it would be neat!
This is just another example of how texture/brush mapping can fake
what would normally be an incredibly huge object that would be inconceivable
to try and model.
Experiment away! Tell me of any neat variations, or improvements you find!!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17. BRUSH MAPS, by Steve Worley (a treatise on the subject):
Textures are not the only way to add detail to an object. A more
direct, less elegant, but more personallizable method is to use brush
maps. Brush maps are ways of taking standard Amiga pictures (sometimes
called IFFs, though pictures are a subset of the Interchange File
Format) that can be placed "by hand" on your object. In its easiest
incarnation, you could brush map a picture of your face onto a flat
plane, put a frame (using wood texture! ) around it, and you have a
virtual art piece. In its most complex incarnation, you could take a
set of 40 256-level intensity maps saved as IFF24s and tile them
endlessly on a plane during a 40 frame anim, and have the map pixel
intensity create reflections and highlights from the flat plane just
like it was really an animated, wind-wave covered ocean.
Brush maps can give objects the same four characteristics that
textures can- surface color, reflection, transparency, and surface
orientation. Going back to the "my face in a frame" example, a color
map is straightforward. A reflection map will reflect the color and
intensity of light corresponding to the map- in other words, a black
map would make the picture in the frame reflect no light, a white map
would make the picture a mirror, and a yellow map would make only
yellow light reflect. [The yellow example is not strictly true.. the
yellow-mirror would reflect green and red light, which combine to make
yellow]. Transparency (really filter) is similar. Black is opaque,
pure white is the clearest crystal, and yellow would let yellow light
though. An example given by Rick Rodriguez in his manual is that a
filter map of your face applied to a plane would be like a
stained-glass window. You could have fun with that. Note that
transparent objects have an index of refraction, which is set in the
attributes requester. See my article, "The Art of Glass" for a much
more detailed discussion on transparency.
The last brush type is altitude, which is a bit more tricky. Here, the
IMAGINE MANUAL IS COMPLETELY WRONG! [Sorry, Rick!] The manual
describes a "displacement map", which is somewhat similar. An altitude
map just tells Imagine that light hitting the object's surface should
be reflected, refracted, and specularated (!) as if it hit a surface
that had a certain shape to it- the shape described by the brushmap's
intensity. If you mapped a picture with lots of small fuzzy grey dots
onto a sphere, you would get reflections and light highlights as if
the sphere had tiny pits in it like an orange. NOTE! The altitude map
does NOT change the real surface height of your object at all. THIS is
the difference between a displacement map and an altitude map.
One option you should use if you're using transparency map is the
"Full Scale Value" in the brush requester. This allows you to tell
Imagine how transparent a pure white image should be. If you want pure
white to be COMPLETELY transparent (invisible) set this number to 255
(full scale). If you set the number lower, you get full white to
become opaque to whatever degree you wish. If you're making a stained
glass window, you might want to set the number to 200 so that people
can SEE that there is "glass" even where there is a clear pane.
Impulse's old default was 245, I think.
Any standard Amiga IFF can be used as a map. This includes all
pictures saved by Deluxe Paint, the most common picture editing
program on the Amiga. A format of high color resolutions known as
IFF24 saves three bytes of color information per pixel and produces
beautiful color reproduction. These IFF24s can be produced from the
ToasterPaint, Digi-view RGB saves (only 21 bits, but it is saved as 24
for compatibility), The Art Department, and many other graphics
programs. The Art Department is the penultimate tool for manipulating
24-bit (and other) images- it can scale, compost, and manipulate
24-bit pictures painlessly, as long as you have RAM. [It is NOT a
drawing program, though] Whatever type of brush you use, remember that
Imagine can't do magic to your pictures- a 16 color picture of
yourself is going to look positively cheesy compared to a 24-bit
picture. For some applications, though, you don't need much more.
Applying a 4-color logo to an object won't benefit by using a 16
million color brush - just use 4. Also, higher resolution is obviously
higher quality, though it's pointless to use a 1000 by 1000 picture of
a logo- even in a close-up shot, it would be indistinguishable from a
640 by 400 picture. Too low a resolution, though will be painfully
obvious when you render. Depending on how close of a view you use in
Imagine, you usually don't need more than 320 by 200. Again, this is
very dependent on how close your camera view is. I've used 100 by 100
brushes to great effect.
A fun trick- Imagine can easily _OUTPUT_ IFF24s... you can use a previous
rendering as a brush map.
If you are truly interested in making high quality brush maps, you
should definitely use IFF24s as brushes. If you have DCTV, you have a
terrific paintbox for editing pictures. Toasterpaint also works, but
is not pleasant. If you don't have either (like me!), you can use a
trick that works extremely well. I take a picture to be edited (often
grabbed with Digiview!) and in Art Department size it to about 900 by
600 (this is very RAM limited... grey images can get 3 times as
large). Then I display the picture in overscan dithered EHB, and save
this image. Then I power up Deluxe Paint, and edit the picture. EHB
gives you loads of colors to deal with, so you don't lose too much
color resolution. [You do lose some!] DPaint can take brushmaps of any
size [RAM limited!], and editing them is quite easy. With the very
large scale, individual pixels don't matter much, so I use large
brushes and the airbrush especially. When you're done editing, I save
the picture, and use Art Department to resize the image back to its
original size. For 24 bit pictures of a size of about 128 by 128, the
quality is terrific! You can see some of the brushes I made posted to
ab20 and hubcap (the sidewalk and latticework, and my latest brick wall).
Sources of hi-quality pictures are everywhere. Digi-view is your
friend- it can make 768 by 480 resolution 24-bit pix. Toaster camera
frame grabs will give you 24-bit pix at a resolution of 768 by 240. A
fun source of varying quality images are GIFs. GIFs are a graphic
picture format, most popular on MS-DOG computers. There are THOUSANDS
of pictures, most with 256 colors out of 16 million. You can find
about 1000 with a nice index on the anonymous FTP site
wuarchive.wustl.edu. I often take these pix and shrink them by 1/2
and save them as 24-bit IFFs- there's no color loss and the file size
is much smaller.
Once you have your map and know what you want to do with it, you have
to place it on your object. The placement determines the size and
orientation of the map, as well as how much of the object is
influenced, and in the case of altitude maps, how much surface light
is distorted.
There are three basic types of wrap- a "flat" wrap (Flat X Flat Z), a
"sphere" wrap (Wrap X Wrap Z), and a "cylinder" wrap (Flat X, Wrap Z
and Wrap X, Flat Z). Flat will ignore any surface bumps and features
and just apply itself directly, much like a slide projector would
project onto a bumpy screen. A sphere wrap tries to encase the object
in the brush, then shrinkwrap the map onto all of the surface features
of the object. The cylinder wrap tries to follow contours in one
direction, but ignore them in another. Think of taking a piece of gift
wrap, and bending it around so its a hollow cylinder. Then place the
object in the center of this vertical gift wrap cylinder and push IN
(but not up or down!) to follow the object contours.
Placing the maps is sometimes tricky. Mike Halvorson wrote a
description that was posted about 6 weeks ago, you can find it in the
Imagine list archives. Also, the green Impulse Winter 1991 bulletin
had two very useful diagrams. What I'm about to describe is not as
simple and foolproof as just looking at the 4 simple pictures they
printed, due to the mere fact that ASCII graphics suck. But I'll try!
FLAT "WRAPS"
Flat wraps are the most common and certainly the most controllable
of the brush map types. Think of having a decal or poster that you
want to stick onto a wall. Flat wrapping will do just this. A good
example is trying to put a logo onto the side of a truck- an excellent
example of where brush maps shine.
First, you should obviously have your logo picture and truck designed
and ready. Now, to place the brush onto an object, you should probably
use the "Edit Axes" mode. This lets you move the axes with the same
mouse and keyboard commands that you normally use for objects... m for
move, s for scale, r for rotate, x,y,and z to toggle a direction.
A danger with editing brush axes is that you want to be in LOCAL mode,
especially when you are scaling the brush axis in just one direction
(like you were trying to increase its height, keeping the same width
and depth.) If you don't scale in LOCAL mode, sometimes your changes
don't stick. You can check by selecting "Edit Axes" again to make sure
nothing changes after you're done.
The axis you are editing has a bit yellow bounding box that is very
deceiving. THE AREA WHERE THE BRUSH IS ACTUALLY MAPPED IS JUST THE
UPPER RIGHT QUADRANT OF THIS BOX. The brush is placed with its lower
left corner right at the center of the axes, and its upper right
corner at a point defined by the X and Z axes of the brush map axis.
Got that?
Z
+----------^------------+ Front View
| |xxxxxxxxxxxx|
| |x Picture xx|
| |xx Area xxxx|
| |xxxxxxxxxxxx|
| +------------> X
| |
| |
| |
| | <-brush map bounding box
+-----------------------+
You want to position the axes so that the upper-right quadrant lies
exactly where you want your brush to lie. If you want your brush to
cover the entire side of the truck, you'd probably want to make the
brush a few extra pixels high and wide so that you don't accidentally
get a border around the edge of your logo.
The Y axis of the brush map is pretty important as well. It tells
Imagine how DEEP to apply your brush. Basically, any part of the
object that falls between the axis origin and the tip of the Y axis
WILL be colored (or reflected, or whatever). For the truck, you'd want
to move and scale the brush axis in the Y direction so that the Y axis
line INTERSECTS one side of the truck but NOT the other. The
intersected side of the truck would be within the influence of the
brush map, whereas the other side of the truck would be left alone. If
you scaled the Y axis to include both truck sides, the other side of
the truck would get the brush map applied to it as well. [In fact,
you'd see a mirror image of the brush on the other side, since you'd
be looking at it in the other direction.]
Here's a terrible ASCII drawing showing how you'd position a brush so
that it puts a very small logo on the side of a big rectangular solid,
like a truck body.
FRONT VIEW
+-----------------------------------------+
| | <-Truck body
| |
| |
| ^ X |
| | |
| Brush | |
| axis-> +-----> Z |
| |
| |
| |
| |
+-----------------------------------------+
TOP VIEW
+-----------------------------------------+ <-Truck Body
| |
| |
| |
| |
| |
| ^ Y |
| | |
+------------------+----------------------+
|
Brush-> +-----> Z
Axis
See how the Y axis only intersects one side?
That's about it for flat wrapping. It is pretty easy to control where
the brush gets applied to any object.
WRAP X WRAP Z WRAPS
-----
These are the most complex wraps. The Y axis here isn't really used,
since the wrap is applied to the whole object surface, not just part.
You want to position the axes so that the Z axis covers the entire
height of the object... its height should be slightly TALLER than the
object. The X axis should be thought as a "radius of influence"... it
should be a little bit bigger than HALF the width of the object. The
axis should be placed (LOOKING DOWN!!) at the center of the object,
and looking from the side, at the bottom of the object. The Z axis
should pass through and be slightly bigger than the object's height.
The X axis should be slightly bigger than the object's maximum radius
away from the center. The Y axis size doesn't matter. Keep it small,
suggests Impulse.
OK, Here's the diagram. The object is a sphere. I swear!
FRONT VIEW
^ Z <- brush axis
|
__|__
/ | \
- | -
/ | \
/ | \
| | |
| | |
| | | <-Sphere-like object
| | |
\ | /
\ | /
- | -
\ | /
---+--
|
+--------> X
TOP VIEW
_____
/ \
- - <-Sphere-like object
/ \
/ \
| ^ Y |
| | |
| +------+-> X
| | Brush Axes
| |
\ /
\ /
- -
\ /
------
That's it! If you wrap a picture of a grid of lines, it will come
out looking like latitude and longitude lines on a globe.
CYLINDER WRAPS (WRAP X, FLAT Z, FLAT X, WRAP Z)
The brush placement is identical to the placement used for the
spherical wrap. The effect is quite different, however. If you tried
cylinder wrapping the grid picture onto a sphere, you'd get OK
latitude lines (going North-South) but the longitude lines would get
further apart the closer you were to the poles, due to the flat
projection of the horizontal lines. The lines themselves would also be
wider at the poles.
One last note for brush axis placement- for adding ALTITUDE maps, the
Y axis depth is used to measure how much indentation a full scale
range of intensity (0-255) should simulate. For cylinder and sphere
wraps, just scale the Y axis. For orange pits, the axis might be 1% of
the sphere's size. For an eroded planet, you might use 10%. More than
this would make really stupid looking reflections. Altitude maps are
subtle.
The Y depth is also used for flat altitude wraps, which might limit
you if you want to indent both sides of a truck. You'd have to use two
brushes in this case. I would have preferred a number gadget in the
brush requester.
----------
Once you know how to place individual brushes, you can start with the
fancy tricks. Brushes overlay each other just like textures. You can
put up to 4 brushes on an object, and they are applied in order. Many
maps don't interfere, though- you could have a color map and a
reflection map on the same object in the same place. Both will work
just fine.
I am not positive, but I'm pretty sure brushes are put on AFTER
textures are applied. Otherwise you'd get wood grain on your face. :-)
Repeating brushmaps are a joy. They "tile" an object with an endless
succession of images both side to side and top to bottom. The brush
will repeat all the way out the the end of the object. If you tile a
ground, the brushes will go to infinity. The size of each tile is set
by the brush axes, just like a non-tiled map. The brushes are placed
next to each other with no space between them. You could draw a VERY
detailed picture of a bathroom tile, and map it onto a wall. when
rendered, the wall would be (surprise) tiled! I've used this to GREAT
effect for making very detailed sidewalks, rose trellises, brick
walls, roof shingles, and golf greens. All of these are flat wraps. To
be honest, I haven't tried infinite tiled wrap wraps... I'm not sure
what they'd do!
Placing repeating brushmaps is just the same as a regular flat wrap.
The size of the brush is determined by the X and Z axis, and the
"depth of influence" is determined by the Y axis.
One additional option that is very useful is the "mirror" option. This
makes every tile be a mirror reflection of its neighbor. The great
advantage of this is that the edge colors ALWAYS match, just like if
your finger touches a mirror, your twin in the mirror will reach out
and touch your finger at the exact same place. This might hide
discontinuities in your brushmap if you want to hide the seams, or it
might be a special effect you're looking for.
Repeating brushmaps aren't just for covering an infinite plain with
your face. They can be an extremely powerful way to get very complex
textures on an object. You can imagine drawing one very high
resolution, high quality brick with scratches, pits, chips and tiny
detail, then tiling it onto a wall. Presto! You have a brick wall with
a lot of character, unlike the Brick texture which is too plain to
fool anyone up close. This is probably the most useful aspect of
infinite tilings. You can find my infinite sidewalk, infinite golf
green, infinite brick wall (very nice!) and infinite rose trellis on
ab20 and hubcap.
When I refer to "ab20" and "hubcap" I mean the anonymous FTP sites
ab20.larc.nasa.gov and hubcap.clemson.edu, both of which have a lot of
Imagine files, objects, brush maps and goodies that I've uploaded.
There is also an archive of this list on both sites. If you need to
know if you have FTP access and how to use it, ask one of your local
computer experts- they should be able to help you.
The last brush map ability is very useful. You can actually have
ANIMATED brush maps which change every frame. Note that these
pictures are not "AnimBrushes" that DPaint will save. These are
individual pictures, which means you can have a 24 bit "animbrush."
To use this feature, you should save the sequence of pictures you wish
to show in a format like
Mypic.0001
Mypic.0002
Mypic.0003
Mypic.0004
Mypic.0005
and so on up to however many pictures you have. Make sure to have FOUR
numbers in the extension. Mypic.01 will NOT work. To use this sequence
of pictures as an animation, you should use "Mypic" as the brush file
name [without the quotes], then set the "Max sequence #" to the number
of pictures you have. I wrote a LONG article about how you can make
animations of yourself using Digi-View and a VCR. You might have seen
the animation with me "trapped" inside of this giant sphere rolling
around on a plane, with my pitiful attempts to break out recorded in
16 glorious colors. You too can do this with YOUR setup. It's worth
playing with! You can find the article in the Imagine archives on
hubcap.
That's all there is to brush maps. They can add a lot of detail to
your objects, and they're not hard to use if you know how to place the
axes. Go out and create!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
18. BUMP MAPPING, by Udo Schuermann:
It appears that there is some confusion about Bump mapping and Altitude
mapping. Let's see if this clears it up:
Imagine's "Altitude Map" *IS* bump mapping. It involves using
an IFF picture to specify at which locations the surface normals are
altered. This does not create an actual pitted surface, or actual 3D
alterations, but it does create a good illusion of these. It works
best on very small alterations, such as the pits in an orange peel.
Don't expect good results with it, trying "stamp" your big initials
into an object, and don't even try to grow "spikes" out of the object
using this technique.
As Altitude Maps (Bump Maps) use your own IFF creations, there is none
of the uncontrolled randomness that you get with Roughness. They do
not require any "additional polygon detail," either.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
19. BUMP MAPPING II, by Sean Schur:
All bump mapping, no matter what system you are on (Amiga or Silicon
Graphics) is only the -appearance- of bumps on a surface. There is
something new, that
only the very high end systems have at this point, called "displacement
mapping". This takes the same signals as bump mapping to do it's work.
i.e. you are mapping an image onto a surface and it knows what is high
or low by the luminance values of the image. The difference is that with
displacement mapping the image you are mapping literally is pulled out and
pushed into the surface of the object. If you are mapping a rose onto
an object (this is one I have seen done), you can turn the object side-
ways and see the various hills and valleys of the rose. With bump mapping,
if you turn the object sideways you still see a smooth surface, even
though from the front it "appears" to have depth.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
20. BUMP MAPPING III, by Mark Thompson:
> >Bump mapping = preturb surface normals
> >Displacement mapping = preturb surface polygon vertices
> Could you explain to me what the difference between these two
> is?? To my untrained ear (and graduate school-fried brain) these sound
> similar if not the same.
> Scott Sutherland
No problem. First of all, the lighting/shading of surfaces of a 3D polygon
based object is based upon the surface normals of each polygon and their
angle to the light source(s) and the observer. These surface normals are
computed based on each polygon's vertices. The idea behind bump mapping is
to modify these computed normals based on either some image or procedural
function (ripples, noise, dots, etc.). The net effect is that the shading
of the object gets the bumpy appearance without being bumpy. This is most
effective when using a shading model (like Phong) that interpolates the
normals across the surface of each polygon based on the adjoining polygons
in the object. In this case, every pixel has its own associated suface
normal which can be modified by the mapping function.
Displacement mapping on the other hand physically modifies the actual
vertices of the polygons. The mapping technique is the same, but what is
being modified is different. The displaced vertices will then yield
displaced surface normals which will look bumpy when the shading model
is applied. So in this case not only does the surface look bumpy, it is
bumpy. So if you ignore the coloration/shading and look at a silhouette,
a bump mapped sphere is smooth and round, but a displacement mapped sphere
will be nobby and irregular based apon the function or image used.
The advantages are obvious especially if you want to simulate an uneven
terrain on a flat plain. The disadvantage is that displacements can only
occur at polygon vertices, so if you want to increase the detail in your
bumps, you must also increase the number of vertices (polygons) in the
surface. Since bump mapping works with the normals and not the vertices,
a complex bump function can be created on a single polygon. Just in case
I've confused anyone, here a picture to really mess ya up.
^ ^ ^ ^ ^ ^
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ Surface nornals
____
_____.| |.____ _____.______.____ Actual polygon surface
Displacement mapping Bump mapping
Something else of note, I don't believe there are any existing algorithms
for implementing displacement mapping in a scanline based renderer
(only ray-tracers). The same is true of fur and other 'hypertextures' which
require similar types of rendering methods.
Hope I managed to make this all lucid enough.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
21. CAMERA FOCAL LENGTH, by Richard Nollman:
I discovered (it was in the documentation clearly presented)
that I could change the focal length of the camera by changing the size
attribute in the Action Script for the camera. The X/Y ratio controls the
focal length of the camera. A larger X value creates a wide-angle effect
while a larger Y value creates a telephoto effect. I was impressed.
I was wondering if the Z value has any effect on the camera lens. I tried
several different settings with no discernable change. Any comments?
I tried to change the focal length for a specific range of frames
within an animation, but every time I set new values for X and Y, the
values changed for all the frames. I tried breaking the ranges up by
breaking up the time line into sets of frames (1-10; 11-20; 21-30).
No dice. Has anyone been successful in using different focal lengths
in the same script?
Finally, I discovered something that surprised me. I had been under
the impression that if the camera is outside the world (beyond 8000 on
any axis) that the scene would not render correctly. I had some
instances in my first renderings of the screen being black (dark
gray). An experienced Imagine user told me that my problem was that
my camera was outside the world and when it sent a ray out, it looked
for the end of the world. Since it was already outside the world to
begin with, all rays were recorded as blank (null). I scaled down my
scene and located my camera inside the world and the scene rendered
fine (my first successful rendering). A few days ago I discovered
that placing my camera and lights outside the world rendered fine. Has
anyone had experience with the camera placed outside the 8000x8000x8000
limit of the world?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
22. CAMERA FOCAL LENGTH II, by Udo Schuermann:
Focal length is a function of the X/Y ratio. If you change both X and Y
simultaneously by the same amount, the ratio is unchanged.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
23. Changing World Size II, by Udo Schuermann:
Change the SIZE channel of the GLOBAL actor in the STAGE/ACTION editor.
I don't know what it defaults to, but it will definitely accept values
such as 16383 (16K-1)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
24. Clouds and Fog, by Marc Rifkin:
Whew! I just got done reading 80+ Imagine messages and now I can start
posting (and be up to date).
So my first question is how to make objects more or less difuse in
Imagine - I use Lightwave too and that has Difuse, but in Imagine
all it seems I can do is change the size and brightness of the
hot spot. My problem is I am making buildings and their sides
are all coming out the same color looking like a big grey splotch
on the screen. I would like them to have distinct light and
dark sides.
Also- what does Shininess do?
I've rendered objects with and with it, with other attributes changing
and I can't get any result.
Someone asked about fog- well the technique I found can also be used for
cloud layers. Make an IFF of clouds (in greyscale) or very fuzzy
clouds for fog and map it onto a plane as a filter map. With the Full
Scale Value set at 255, anything white in the IFF will be clear and
the darker shades will create more opaque levels (thicker) of cloud/
fog. Put the plane between you and some objects.
This worked well when I did a plane flying above the clouds with
the ocean underneath.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
25. Complex Models, by Steve Worley:
A few people have asked how to make complex models like planes, cars,
spaces stations, etc. from scratch. I actually wanted to write a
tutorial on this, but it looks like I'll be busy with other things.
Anyway, I'll give the basic gist. First, there is NO such thing as a
complex model! The fanciest space station is just an assembly of a
lot of SIMPLE parts. The more subparts, the more detail. The most
detailed models I can think of, Mike Halvorson's robot, Glenn Lewis'
steam engine, and my space station, all share one feature: they are a
group (or heirarchy) with around 50 member objects! All of these models
are avalable on hubcap; go take a look at them. You'll notice that the
individual sub-objects are very simple in their own right.
Mike Halvorson wrote once (I think in the Winter 1991 Impulse bulletin)
that the way to build a model was to work on each piece at a time. Don't
build an F16 straight, build it a piece at a time. A fuselage can come
out of the Form editor, a wing can be extruded (and the other wing
made from a mirror image copy), a jet exhaust can be spun. It is also
much easier to give each of these sub-parts their own attributes and
brushmaps, as opposed to working with a single object with many points
that have to be hidden with "hide points". Another advantage is you
can whip together a crude model, then selectively replace the parts with
higher quality subsections later.
One method for making models is very straightforward- go to your local
hobby store and buy a plastic model kit of a cool plane. It's great!
The parts are all scaled to the proper dimentions, they come in
logical and convienient sub-parts, you have a physical model to
MEASURE if you need to know exact sizes, and being able to hold the
part in your hands and flip it over can give you an excellent image in
your mind of how the shape looks in 3D. Making models from memory is
certainly easy, but images tend to look weird and distorted, because
proportions are slightly off, positions may vary, etc. Remember my
dolphins?
If you really want to learn how to model (grin), go ahead and BUY A KIT.
They only cost about $10.00, and you can give it to your kids or a neighbor
when you're done. (Or build it yourself!). Also, remember the kits
come with COLOR DECALS that you can digitize and apply as brushmaps! Even
without a digitizer you can use them as reference and recreate them in
a paint program.
It is lucky that a lot of the 3D models people want to play with
(planes, cars, spaceships) are also the most popular plastic models.
Get yourself a very fine ruler; I have one that has 50th's of an inch.
You don't have to measure every single part every which way- it just
helps if you're trying to create a very good copy. Another trick is
that you can digitize the parts (in 2D) along their cross sections.
You don't use these in actually building your 3D version, but you can
leave the outlines (from converting from an IFF) around as a reference.
Here you have to be careful of scale. And of course, some objects
(like a flat, simple airplane wing) might be easily digitized then
just extruded and faced.
Those of you with USENET access might be interested in joining
the group alt.models. It has a lot of posts that don't apply, but there
are good discussions like "XXX has just released a new model of the
F-19. It's very accurate, and I got it for $11.00".
You are free to build objects any way you want, but if you want really
professional results without much hassle, you can try the plastic model
approach. Most models are of vehicles, though you can find some of
the human body, of engines, and a few other weird objects. And for
$10, you're not risking too much!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
26. CYCLE/DETAIL GROUPS, by Helge Egelund Rasmussen:
It is possible to circumvent all the problems connected with the proper
setup of a new cycle editor object; this is done by creating the full object
in the detail editor, and then load this object into the cycle editor.
If the object is a grouped object consisting of subobjects, each subobject
will be assigned to its own segment.
It is much more easy to place the subobjects at the correct positions in
the detail editor. When you load the object into the cycle editor,
the only editing commands that you'll need to use is 'pivot' and 'twist'.
The move command will only be used to move the full object.
Here is some 'hints':
- You should NOT group alle the objects together in one go. Instead you must
group the objects together in a lot of steps. Here is an example:
You want to create part of a human object consisting of the following
objects:
a hand,
a arm,
a shoulder,
a body
After placing the objects at the correct locations in the detail editor
you should create the following groupings:
Group the arm to the hand (arm is the 'parent' object)
Group the shoulder to the arm (shoulder is the 'parent' object)
Group the body to the shoulder.
If the shoulder is part of the body object, you should use an axis as the
shoulder. Otherwise the arm would pivot around the body!
- Be sure to place the object so that it is facing in the positive Y
direction.
The stage editor expects this direction, and if you want the object to
follow a path, then the object WILL move in the positive y direction.
- Place the axis for a object where you want a sub-object to connect
to the object. This is necessary as the sub-object will turn around
the axis of the object.
Example, you want to connect a foot to a leg and then to a body:
Be sure to be in 'pick group' mode.
Place the axis of the foot in the toes.
Place the axis of the leg at the bottom of it (you want the foot to
turn about this point).
Place the foot and the leg at the correct positions.
Press the shift key, select the leg, select the foot and group the
objects.
Place the axis of the body at the lower part of the body (you want the
leg to turn about this point).
Press the shift key, select the body, select the leg and group the
objects.
Now save the object. This object can be loaded into the cycle object.
- Remember that it is the 'top' object of the group that will follow a path
in the stage editor. Because of this, you can't move the 'top' object
relative to the path, so it would be a stupid idea to use a real object
as the 'top' object: The solution is to create an axis and group the
final object to this before you save it.
Example:
When you make an object walk, the body is the fixpoint, and the legs
move.
However, if you want the man object to bend over, it is the legs that are
the fixpoint, and the body that move.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
27. Extruding along a path, by Sean Schur:
Here's what you do:
You do NOT use "create path". Create your object outline to be
extruded. Add a new axis and make it correspond more or less with
the axis of your object. "Add lines" to the new axis from the y axis
in the shape of the path you want your object to extrude along.
Name that new axis "path", then extrude your object along the path.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
28. Filter Brushes, by Udo Schuermann:
bobl@graphics.rent.com:
> I can't for the life of me get the filter brush map to work. The
> docs don't really explain it and I can't seem to get any transparency
> at all. As I understand it, you should be able to take a
> multi-colored brush, map it on an object and select filter and be
> able to see through the various colors. Am I mistaken?
Bob, you've got the correct idea, regarding filter brushes:
1. The color of any pixel indicates how much light it lets pass
through (just like Imagine's general filter slider). Black will
pass nothing, blue passes only blue light, white passes all, etc.
The RGB guns of the color determine how much of a particular
"wavelength" is let through.
2. I've found a relatively simple formula for getting all brushmaps to
work flawlessly. I can consistently map an iff onto an object (at
least the flat ones):
brushes "live" only in the POSITIVE ( >0 ) X,Y,Z of the brush
axes. Always, ALWAYS, move/scale the axes so that the object
lies in the positive area ... not 0, but ABOVE 0. Get it?
This is different from Textures, which live in both
the positive and negative coordinates.
Bob, your problem may be that the Z-axis is flat on the object and the
result is all black color or perhaps some random noise pattern, which
may be mostly black on black.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
29. Fracture, Split, and Taut in Detail Editor, by Steve Worley:
Fracture will take any selected faces and split each into four new,
"fractured" faces by adding three new points, one on the bisector of
each line segment. Faces that share an edge with a fractured face will
split in two, so they keep the same edges in common. Fracture is
useful for increasing "face resolution" for better Phong shading,
coloring, and attribute assignment.
Split will take all of the selected points and "split" them apart from
an object to form a new object. Thus, you could sever the wing of a
plane to form a wing and a fusalage. Previously, you'd have to use
slice, or delete the appropriate points on two copies of the object.
Any edges and faces connecting the selected, "split", points and the
non-selected points will be deleted. A new axis is created with the
same size, position, and orientation as the orignal axis.
Taut takes and makes a set of connected line segments line up in a
straight line. For example, if you "add lines", you'll get a string of
connected points in a row. If you "select points", select all of them
in order, then use "taut", they will string themselves out in a
straight line between the first selected point and the last. This
feature migght be useful in creating pointed paths, or making outlines
for skin or extrude.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
30. GLASS- The Art Of Glass, by Steve Worley:
Glass is perhaps the hardest look to perfect. It is obviously a worthwhile
attribute to use, but it is tricky to get it just right.
The first obstacle is just to get it working. The MOST common complaint
is "I can't make ANYTHING transparent". The reason is a bug in Imagine.
ANY shininess in an objects attributes shuts down transparency. You
have to use 0 shiniess. Not a small amount, zero. Only then can you get
it to function.
Transparency is controlled by the filter attribute.The higher the attributes,
th more light of that color gets though. In this way, the name "filter" is
a bad choice in my opinion- to filter light completely, you select 0 0 0.
Good transparency needs a good amount of amplitude. Subtle amounts just do
not show up. For a transparent object, 200 is the smallest I use, but you
can experiment. Objects that you can see clearly through I usually pump
up to 240-255. Also, glass has a SLIGHT bluish tinge, so I use
RGB= 250,250,255. Cherry Jello might be 240, 140, 140.
Glass is a real light reflector- It has very bright, tight highlights.
I crank specular up to 255,255,255, and hardness up to 255. Having soft
higlights looks wrong and also blocks out some of the image coming though.
If you want to use glass, don't forget the index of refraction. The
index of refraction tells how much light bends when it moves from one
media to another. The larger the index, the more the bend at the
intersection. A value of 1.0 makes no bend, and is like air. A value of
2.9 will bend light so far that it's almost unreal. A list of refractive
indeces-
Air 1.02
Ice 1.309
Alchohol 1.329
Water 1.333
Glass 1.50
Quartz & salt 1.644
Diamond 2.417
Remember, setting a sofa to being transparent with an index of refraction of
1.309 will NOT make everyone say "Wow! Its made of ice!" The other attributes
are just as important in giving transparent objects character.
Also, with the index of refraction too high, light coming though will be so
bent there will be no image recognizable. Especially for objects that are
large or complex, a lower index of refraction looks better (and traces
faster!) Anything that is transparent becomes a lens, and a sofa is a
crummy optical instrument. For a transparent sphere, I had to lower the
index to 1.08 to make objects on the other side recognizable.
Roughness and altitude maps are particularly effective with transparent
objects. The direction light bends depends on the surface orientation at the
spot it enters and nothing else. Thus, a rough or altituded (?) surface adds
a lot of effect to the transparent light. Think of a fresh ice cube- you
see a lot of light though it, but the frost on the outside makes it hard
to look at anything THROUGH it. If the frost melts, the outside surface is
smooth, and you can see though the ice pretty easily.
I prefer using a
random altitude map made by using the airbrush in DPaint III than using the
rougness attribute. The reason has to do with roughness being a random
surface direction change (like it should be), but its not consistant from
frame to frame of an anim- it looks like there's lots of bugs crawling on
it, to steal Scott's complaint.
The surface direction is very important to the character or transmitted
light, so Phong shading is very important as well. Phong shading smooths
objects made of polygons into a smooth(er) surface, as opposed to having
faceted sides like a cut jewel. Phong shading is used for determining the
direction light bends, so (just like roughness) it will make the character
of your object change.
A note- If you have any of the objects I put on ab20.larc.nasa.gov, some
objects are NOT phong-shadable. This has to to with them having duplicate
points and edges so Imagine doesn't realize the faces are adjoining. To fix
this, use an undocumented feature in the detail editor, called "Merge" to
merge the duplicate points, then you should be fine. The objects in the
first two files on ab20 are all this way- the files 3-5 I think I caught
most of them and already merged them.
The color that you set glass determines the shade Imagine will give to
non-perfect glass- ie glass without transparency set at 255 255 255. Black
( 0 0 0 ) works well, since then the color doesn't cover up the image.
You can experiment, though.
One last important attribute of glass is reflection. Glass reflects
light a little bit, so should be slightly reflective. Too reflective,
and the transmitted image gets overpowered. Think of a window- you see
though it quite clearly without seeing much reflection. At night, when
there is little light coming though, you can see the mirror-like qualities
of the glass. Transparency should almost always dominate. Good value
for reflection are in the range 30-60, and again, I use a SLIGHT blue tint.
A fun, advanced topic is lenses. You can make them, and they'll actually
work! To make a simple lens, make a primitive sphere of a pretty hefty # of
slices and sections (like double the default). Go to "select points"
mode, and use the dragbox to select all but the top 20% of the sphere.
Delete these points. Move the axis to the very bottom of the half-lens
using M (shift-M). Make sure that the axis' Z location is as close to the
Z locaton of the bottom ring of points as you can (important!) Then select
the object, COPY it, PASTE it. There are now 2 identical half-lenses on
top of each other. Select one, then use Transformations to scale it
x=1.0 y=1.0 z=-1.00 mirror reverse it. If your axis is placed right, you'll
have both half lenses sharing the center (previously bottom) row of points.
Select both halves, then JOIN them into a single object, then MERGE them
to get rid of the duplicate points in the center. Set the attributes to
glass, and Voila! a lens! It works! This is a converging (magnifying)
lens, and you can try a diverging lens, though I haven't, yet. The
lens will also take much larger indexes of refraction without munging
the image, unlike the sofa. Quick rules- object far away, you'll see
it upside-down. Too close, it will be really big and out of focus. At
the focal length, it will be in focus and magnified. Focal length
is proportional to R (of the sphere) and the index of refraction. Kinda
advanced, but lotsa fun.
Steve's cool transparent ball-
Color =0 0 0
Transp= 250 250 255
Reflec= 49 49 53
Specular= 150 150 150
hardness= 255 255 255
rough=0
shininess=0 (CRITICAL)
Index=1.08
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
31. LASERS & SPECIAL EFFECTS I, by Sandy Antunes:
Well, I finally mastered an obvious technique, i.e. How to make flaming
lasers in Imagine! This technique is useful for lots of effects, actually.
Just make your animation as usual, making the frames in ILBM
format. HAM or HiRes is okay (heck, use lores if you want!)
Figure out which frames you want the lasers in. Load them one
by one into DPaint or DigiPaint or whatever your favorite paint
program is that handles that format. PD programs like "paint"
are useful enough for lasering, but it's nice being able to do
more complicated stuff.
Then, just draw in the lasers. I suggest they be slightly blurry
rather then having crisp edges, but it's easy enough to find one
that looks nice. Save each file back to its original name, then
hop back into imagine and have it make the animation for you!
I suppose if you're doing 24bit images you'll need MacroPaint or
such. I don't know... I scrape along with an A500 w/only 3 megs.
Another great use here is deleting things from the pictures...
like individual stars and such. Think of it like a real movie...
Imagine is the film crew and actors, the paint program is the special
effects company making final touches.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
32. LASERS AND SPECIAL EFFECTS II, by Edward Chadez:
Another use of Sandy's clever technique is to add special effects into the
ILBM pictures via a paint program just like Sandy did for the lasers.
I prefer Photon Paint or DigiPaint III (I don't own deluxepaint...no flames
please) because most of my Imagine animations are HAM. I added things
like shields and lasers and stuff like that much the same way Sandy
described.
However, it may be more convincing to actually build these objects in
Imagine. With the ability to create translucent objects with transparent
bit-mapping and textures that can be seen thru, it shouldn't be too
difficult. Especially now since you can add brightness to objects.
Imagine (no pun) a long narrow cylinder that is bright, which is at the
center of another cylinder that is partially transparent with either a
texture applied to it (wood or disturbed, I suppose) or a bit map made
with your favorite paint package. With enough work, you could produce
convincing effects!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
33. Light Brightness, by Steve Worley:
Sean Cunningham asks:
My only question is: will a SPHERICAL light set at 255 all be bright enough
to cause visible spots on the surfaces in a scene?
-----
No, I bet that a light of 255 won't work too well.
So crank it up to 2000! For a long time I thought lights were limited to
255: I was wrong. (Its logical that lights can be as bright as they want).
Values above 500 or so are pretty severe: they cast strong shadows,
like a very sunny day. Above 3000 or so and it looks like your world is
lit by nuclear weapons.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
34. Light Placement, by Don Whitaker:
>How does one knoe where to put the lights?
Here's a good basic lighting set-up that I use for a lot of test
renderings...,
I use 2 lights. I position the first behind and a little to the right of
the camera. Just accept the defaults that Imagine offers (i.e. Spherical,
255 for the RGB intensities). For the second light, I usually cut the
intensities to about 120 or 160. Then I position it about 90 degrees from
the first light (behind and a little farther to the left of the camera).
The second light fills in the lighting without washing out the shading..
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35. MERGE, by Steve Worley:
A completely undocumented feature of Imagine! Its called "merge".
I am pretty sure of what it does. Its in the Detail editor, directly below
"join". What it does is takes the selected object, and optimizes it by
removing duplicate points, lines, and faces. Some objects have a LOT.
If you are using any of those objects I uploaded to ab20.larc.nasa.gov,
USE THIS FEATURE. These objects are riddled with duplicate points- They
look fine, but will save much smaller and (most importantly!) will redraw
almost twice as fast when you move or zoom in any of the editors.
Joining seems like it would improve Phong shading- I'll have to check.
Another place where you might want to use this feature is after any
"join", since a lot of edges and points might line up, especially if
you're joining a front and back face to an extrusion.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
36. METALS, by Mike Halvorsen:
It seems that after all this time the message on how to make Chrome, Gold
Silver, Brass and other attributes that have a real world quality, has gone
either unoticed or we have done a poor job of telling you how.
So here is a quick quide. In no way should you use these numbers to be
a holy grail, they are just numbers that I use and find that they meet my
needs.
First things First. These attributes of Gold or Silver (chrome) and other
shiny metalics have almost more to do with the environment that they are in
than the color or reflection of the object. Try to imagine yourself in the
real world and understand that gold and chrome are most noticeable when they
are shown in an environment of Bright sun with lots of colors and other
items to help the attributes in a sense take hold.
For GOLD.
I make the object color Red 205, Green 205 and Blue 80.
reflective settings are Red 180, Green 160 and Blue 125
I use hardness at 255 and specular 255 on all guns Red Green and Blue.
If you add a intersting dithered Global brush to the Globals in the
Action editor the effect is even better.
Now the environment of tthat Gold likes seems to be the use of pastel or
lighter colors for Horizon and Zenith colors.
It is best to try several objects in a scene with different attribute numbers
you will then get a much better feel for what YOU like. The one problem
with Attributes is that you must decide for yourself what is GOLD or SILVER.
One mans Gold is another mans (or womans) Brass.
Chrome is almost the same.
Object color: Red 120, Green 120, Blue 160
Reflective Red, Green and Blue 140 on each
Specular 255 all Guns and Hardness 255
Last but not least, Glass.
Make the object color Black or Red Green and Blue set to 0.
Filter 255 on all guns, no reflectivity on any guns and Hardness 255, with
Specular at 255 on all guns.
So I hope this helps, or at least gives you some idea of what I use to get
the effects that many find hard to conqure. Remember I have spent many hours
trying several sets of attributes to get what I like. Chances are that if
you do the same you will find yourself with results that you appreciate.
On to more tracing....
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
37. METALS II, by Mark Thompson:
As I had mentioned before, for metals, it is best to make your specular
color close to your surface color. 255 on all guns will yield the
characteristic "plastic look" that standard Phong shading is known for.
The reflectivity helps but it still doesn't look like metal. For this
case, specular R = 255, G = 255, B = 160 should yield more realistic
results. This is based on the actual behavior and physical properties
of metalic materials.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
38. Mirrors, by Steve Worley:
The trick with mirrors (or especially chrome-like objects) is not
setting the attributes of the mirror correctly, but making sure that
the environment is set up so something will be reflected into the camera.
If a mirror is TOO reflective, the mirror can actually become invisible!
This is because the mirror's own flat glass/metal flat coloring is
overwhelmed by all the reflected light. You see a PERFECT reflected
image, so the object itself isn't shown. This is especially true with
flat mirrors.
Some attributes that give a nice mirror polish:
Color: RGB= 150 150 170
Reflect RGB= 200 200 210 (a bit of a blue tint)
Transparency 0 0 0
Specular 255 255 255
Hardness 255
Rough=0
shiny=0
Again, the important part is that you should make sure the mirror is reflecting
something into the camera. A scene with just a camera, a mirror, and a
ground in it is awfully boring..... :-)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
39. Morphs, Mark Thompson:
... Most of the morphing you see on TV and in the movies use cross
fades rather than highly complex morphs. Here is a blurb from the article
I wrote for the August Amazing Computing. It is intended for LightWave users
but can be applied to your renderer of choice.
"Another limitation of morph is that the target object must essentially be
the source object with only the vertex locations altered. In other words,
the target must be derived from the source with no points added or deleted.
Here once again, Object Dissolve can help out. In this case, two morphs
occur simultaneously on top of one another while Object Dissolve smoothly
fades out one morph while fading in the other. Two objects must be created
in addition to the source and target. For object #1, you must manipulate
the source to fit the approximate shape and size of the target object without
adding or deleting points. Object #2 is merely the reverse operation to make
the target look like the source. The two simultaneous morphs performed
are source -> object #1 and object #2 -> target. Then dissolving the source
out and object #2 in will complete the illusion. Similar techniques have
been used recently for TV ads such as the mini van metamorphosis commercial
for Chrysler."
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
40. Movement control, by Steve Menzies:
I've been reading alot inn this group about objects flying
off course in the middle of an animation. I too, have had a
lot of this and while I don't have an inteligent explanation nor
a "fix all", I do have something that may help:
I have had many instances where I have wanted an object
or a grouped object to either make a simple rotation ( w/rotation F/X),
or have interactively rotated the object and used the keyframe
capability on the alignment "bar". Often (not always) the object
actually "flys" away from it's own axis rather than rotating with it.
I have been able to stop this "flying away" by making a small incretment
of only .0001 of a unit in the position bar (action editor) on one of
the x,y,z axis (sometimes 2 axis!?) from the original position of the
object. This works! (I don't know why, but it does:)
All movement in Imagine is linear. This means that when you
perform any kind of transformation (translation, scaling, rotation)
or morph (interpolations, attributes) from point A to point B, you
kiss the object goodbye at "A" and wait for it's arrival at "B" (if
it doesn't fall apart on the way:). You have no *control* over HOW
it gets there. In otherwords, how expressively this motion task is
performed by the actor (charcter) or how the actor "changes over time".
Take for example Imagine's morphing "on a channel" or it's
new 1.1 keyframing capability. What Imagine does is divide the transformtion
equally over the chosen # of frames. Imagine gives the same amplitude to
the motion or movement in the first frame as to the middle frame as to
the last frame. You may try to discretly add more keyframes "around" the
extremities of the motions (cycle editor or stage editor) to try and
soften or curve the angularness at the extremes but an analogy or
visual equivelance of this would be adding more polygons to the structure
of an object to create a smoother curvature but stll render it in FACETED
mode. Can you imagine what your objects would look like (and the # of polys)
if we didn't have phong shading?? Well thats what happening to our
animations.
We do have velocity control though. Unfortunately they couldn't
have made it any more limited. It cannot be used except with a path and
it is almost impossible to coordinate with other transformations. Talk
about foot slip!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
41. PATHS I, by Stephen Menzies:
No you can't use the stage editors paths for extrusion. As for your
problems with extrusions, just make sure that the object to be extruded
and the extrusion path have distinct names (and don't forget to hit
RETURN whenever you fill in a requester (the characters will capitalize
when you do that)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
42. PATHS, by Steve Worley and Rick Rodreguez:
A message from Rick Rodreguez relayed through me-
>Actually, Steve, making paths is simple. Add a Path in the Stage, go
>to edit path mode and then Split Segment. Drag the new segment to the
>place you wish the camera to visit and then split the segment again to
>create the new stopping point. Paths are bezier curves which conform to
>the placement of the axes that define individual segments (similar to
>knots in Sculpt Animate's splines). The more segments you define, the
>more complex your animation. Individual knots can be moved or rotated
>so that the camera or object will pitch, bank and roll.
>Hope this helps.
>--Rick
My reply- Yes, this is EXACTLY how to produce nice paths in the stage
editor- it works wonderfully, and camera motion especially benefits from
the smooth interpolation between knots.
The problem that I was trying to convey wasn't difficulty in making a
path, even a complex one. In the scene that we're talking about, though,
is a walk-through of a house. It is _VERY_ difficult to resolve and
define locations in the tri-view when the object's interior has detail,
like this house will. My complaint was that the Stage editor lacked a
"hide points" mode like the detail editor, and it might be worth
the lower path quality (using straight line paths, ick!) just to be able
to place the path accurately since you can take out the extra floors and
rooms of the house using "Hide points."
Now that I think about it, maybe the best solution is to use the detail
editor and put an axis at each of the "waypoints" along the journey
through the rooms. You could name the axes "Start" and "Point 1" and "Point
4" and "End", and so on. Then group them and save it.
In the Stage editor, you can load this big thing, then make your spline
path by using these pre-done waypoints. To find a waypoint, you don't have
to sort through the mash of lines each view shows you- you just use the
"find by name" requester which will gladly highlight each point in turn for
you! This seems like the most reasonable solution to me, at least until we
get a "hide points" command in the Stage Editor. Imagine 2.0, I guess.. :-)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
43. Planets made by Imagine, by Steve Worley:
Here's a very useful trick for making stellar objects like planets or
especially the Moon:
It would be very nice to be able to model these object in Imagine,
especially for space scenes, or starry nights. It would be especially
cool if, in the case of the Moon, the crescent shadow were properly
modelled. It would also be nice to have an accurate, cratered
surface. Well, you can easily make an object that has both qualities.
There are a LOT of NASA pictures available, especially as GIFS, which
convert to HAM or 24-bit Amiga pictures pretty easily. If you could
map these pictures onto a sphere, shadows would fall on the objects
realistically. The problem is wrapping the picture onto a sphere- the
forshortened perspective near the rim of the picture really looks
wrong if you try to do a normal sphere wrap.
The trick lies in how you map the pictures onto the sphere. YOU DO NOT
_WRAP_ WRAP THE IFF FILE ONTO THE SPHERE. Instead, you FLAT wrap it.
These pictures are essentially parallel projection views of the
surface; the coloring already has spherical rim foreshortening
implicit in it. If you FLAT wrap, these contours will align with the
sphere's contours nearly exactly. This means you can even rotate the
sphere slightly, and the craters, banding, etc. will move properly. Of
course, the angle of view at the rim of the planet will force the
image to lose detail there, but for turning small angles (like up to
20 degrees) the illusion is excellent. Light falling on the sphere
will also cause the proper crescent shape to appear. Voila! Instant
planet model!
When making the IFF file, it is important to make sure the image
exactly fits onto the brush- it should extend all the way to the edge.
That is, if the circle/oval image is 500 pixels wide and 322 high, the
brush you wrap should also be 500 wide and 322 high. Then, when you
wrap the brush onto the sphere, you size the brush to cover the ENTIRE
sphere, and you know the positioning is accurate. See my tutorial on
brush wrapping if you need help on how to place brushes. You don't
have to worry about the black background at the four corners on the
brush- they are mapped onto empty space, and don't show up.
If you are looking for pictures of stellar objects, an EXCELLENT source are
the GIFs on wuarchive.wustl.edu. They have pix of Jupiter, the Moon, the
Earth, and some of Voyager's pix (I forget which ones). The Art
Department Professional is ideally suited to converting the GIFs to IFF24's
and cropping the image so they take up the full size.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
44. QUICKER RENDERING, by Steve Worley:
The next time you sit down in front of your Amiga (if you aren't already)
IMMEDIATELY go to your Imagine directory and edit Imagine.config.
Change the flag on "Do lines in color shade" from T to F.
You have just changed a pitiful previewer into something that makes
really nice quick anims.
The "color shade" mode was stupid when I tried it out. Yes, you could
see the color of every polygon, but a quick 100 by 100 HAM scanline was
infinitely better.
However, when I was playing with function keys in the config file, the
"do lines" option caught my eye. (So much to experiment with... :-)
The quality of the shaded models is decent. The objects are simplified,
casting no shadows, and I think they lose brush and texture mapping.
Unfortunately, ground is not rendered at all.
So why am I raving? Because the quality is decent, and the
rendering BLAZES!!!! A complex scene with about 10 objects with
400 polygons each rendered a 320 by 400 scene in about 50 seconds. The
"percent done" indicator BLURS! [I have a 6M 25Mhz A3000, so I'm cheating]
However, I can render a 20 frame anim in about 20 minutes- it rocks for
testing the "feel" of an anim. I would think unaccellerated machines
would benefit even more. The amount of setup and load time for each
frame is also cut since it doesn't load textures, etc.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
45. RENDERING TIMES, by Stephen Menzies:
The list is long: reflections and refractions increase rendering time
significantly, anti-aliasing (0 longest)-btw this you must edit in
the .config file and resolve depth (also in .config file), number
of polygons, camera position (obliqueness), size of brush maps and
even the numerical entries of solid textures, resolution, display
and render modes etc etc. The big ones are refraction, edge level(anti
aliasing , reflection (along with "depth") and #of polygons. Pretty
well in that order too. Remember that a higher refraction index is
longer rendering time also.
And yes the scale of the object means a LOT. Imagine uses something called
*Octree* to calculate the scene. I no nothing about it other than the
larger the scale of the object, the faster it will render.The difference
can go from *hours* to minutes.So scale your scene big. Select everything
in the scene (including camera and lights) and scale it interactively.
Don't worry, this won't disturb your camera view or anything like that.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
46. RESIZING (AND AVOIDING SPIKES), by Scott Sutherland:
Mike (last name? from The Portal System) writes:
>Has anyone else noticed this bug? I took an object, a human skull,
>and wrapped a brush around it..marble..anyhow I took this object
>into the stage editor and resized the object to make it smaller than
>it was when I originally was defining it in the detail editor..when I
>went to render the scene..there appeared to be a number of *spikes*
>protruding from the skull..actually looked kinda cool..but not what
>I had in mind..anyhow I feel the problem is that when you resize an
>object in the stage editor that the points and faces are contracted..
>but the axis and any brush or attributes are *not* likewise contracted..
I encountered something similar (no "spikes" in mine though) on my
mannequin project. You MUST be careful when you resize objects in the
STAGE editor. I found that I needed to be in the GLOBAL (not LOCAL) mode
to get things to work out right. And Mike is correct with respect to the
TEXTURE attributes. I had the WOOD texture and grain nicely chosen for my
original object. When I shrunk it by a factor of 100 and rendered it, the
texture lines were gone. It turns out that all the info that is in the
EDIT TEXTURE window is unaffected by all of this shrinking or expanding.
You must change these in the DETAIL Editor. Also, if you are MORPHING one
object into another, these Details are not affected. What do I mean? I
morphed a wood object into a black GLOSSY object. As I carefully watched the
object morph animation, I saw that the BASE color of my tan wood slowly
changed into black over the 25 frames of my animation. However, the wood
GRAIN color remained constant. Then the GRAIN just 'popped' out (disappeared
from one frame to another) from frame 24 to 25. This does make some
interesting effects, but it was NOT what I wanted.
I did find a work-around for this (don't we seem to spend a lot of time
finding out how to use UNDOCUMENTED features to work around things the
DOCUMENTED features cannot handle ;^))?? ). In the STAGE editor, I moved
to FRAME 24 and SAVED this object as OBJ.FR24 (or something like this). I
loaded it into the DETAIL editor and changed the grain color to something
more reasonable (it went from Dark Brown to black, so I just lowered the
intensities on all guns to almost black). I then went back to the STAGE
editor and did the following. I deleted my original morphing object. Then
I loaded the starting wood object into frame 1. I then loaded my OBM.FR24
into frames 2-24 with a transition of 23 (or is it 22? I forget.). Then I
loaded my FINAL black object into frame 25. Thus, Imagine thinks it is
morphing from one wood texture to another for 24 frames and then to a solid
(non-textured) surface in frame 25. From frames 1-24, both the base color
AND the grain color morph. I suppose that I could have simply KEPT the
wood texture on and morphed from my original wood texture in frame 1 to a
BLACK base color and BLACK grain colored wood in frame 25. This would have
saved me from using 3 different objects for this, but I wanted to remove
the wood completely.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
47. RETRACKING THE CAMERA, by ???????:
In the Stage editor it is possible to re-track the camera to your object
after moving the camera (or the object I assume, I didn't try it), just
hit Right Amiga-C and hit return to clear the requestor, and the camera
is now re-aligned to your object.
I had been going back to Action and doing the delete-add-track sequence
on the camera's actor bar.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
48. ROTATING, by Udo Schuermann:
It's ALIGNMENT and not ROTATION. And yes, morphing the alignment
(orientation) will use "shortest distance between two angles."
Breaking up the rotation should work. I have had success with
something like 0-175, 180-355 on a 72 frame rotation, so I know it can be
done. Try 0-170, 180-350.
If you're not using any other F/X on the object, then use the
Rotate F/X -- it's VERY easy to use and can save you a lot of work.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
49. Shadows on mapped surfaces, by Steve Worley:
Marc Thompson writes:
>The only thing I don't like about it is that shadows cast on a bump
>mapped surface don't conform to the bumps (since the bumps aren't really
>there). There are some papers that address this problem, but I would like
>to come up with a solution that is within the realm of LightWave or
>Imagine to fix. Anybody have some ideas they'd like to kick around?
There are a couple of solutions, though I don't know how successful
they'll be. The most logical is probably to try to soften the shadow
edge as much as you can, so that it's not a ruler straight line that
doesn't follow the apparent contours. (Lightwave has soft shadows,
yes?) If the built in soft shadows aren't blurry enough, try replacing
each light with a cluster of three light sources of 1/3 the intensity.
That will soften the shadows and also give you control over the amount
of shadow-edge blurring just by moving the lights closer or further
apart. This technique can be used in Imagine as well.
So Mark, there isn't any way to change the renderer: the shadows are
going to be projected on a flat plane. Unless you replace your water with
a real height surface (ugh!) you have to live with the broken shadow edge.
The best you can do is hide it by blurring the edge (as described above)
or manipulating the scene and camera to minimize it's appearance.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
50. SKIN, by Kevin Goroway:
I've used this to create airplane wings, and the like, I start by creating
the "ribs" of the wing. copy them, size them, etc. until I have the ribs of
the wing done (much like a balsa wood model of a plane). I then multi select
all of the ribs, and select SKIN, which does exactly what you would expect.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
51. SLICE I, by Kevin Goroway:
Create the object that you want to bore a whole through, or slice.
A sphere will be fine (primitive sphere)
Create the object to do the cutting with, a cylinder to drill a hole, or a
plane to do some cutting, for example.
Place the objects over one another, aligned the may you want the SLICE to
take affect (did you understand that?)
Multi Select the two objects (order doesn't seem important) and select SLICE.
This will leave many new objects, which you can cycle through and delete the
ones that you do not need, or want. For example, slicing a sphere with a
plane will leave the bottom half of the sphere, the top half of the sphere,
a plane with a disc cut out of it, and a disc. (understand where these all
come from...)
SLICE can be used to do some very powerful things (BOOLEAN wise...)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
52. Slice II, by Colin Stobbe:
I just got the Imagine Compendium 91b today, but noticed that there
isn't much about SLICE, one of my favorite features, so I decided to tell
all of you what I do with it.
One of the objects I've been working on for the past while, requires
quite a number of 'decals' (I'm actually modelling a plastic model I have).
I however have had little success with brush maps in the past, however (it
was before I got on this echo). When I got Imagine, with it's slice feature,
my problems were solved. Now what I do, is draw the decal in a paint
package, import it into Imagine with the CONVERT IFF/ILBM feature in the
detail editor and extrude it. What I've now got is basically a punch, which
I position partially inside the object I want to put the 'decal' on. I next
SLICE them together.
What I'm left with is usually four objects. I've got the 'punch' in
two pieces, which I dicard, the origional object with a hole the shape of
the 'decal', and a piece of the origional object in the shape of the 'decal'.
I've now avoided using a brushmap, but more importantly, I can change
the attributes of the 'decal'. Insted of having just a flat color, I can
change the reflectivity, roughness, etc., and put textures and even
brushmaps on the 'decal', making it look quite a bit more interesting.
The only problem with SLICE is that it takes memory, lots of it. When
I only had 3MB, I ran out all the time, and even at 10MB I've run out of
memory.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
53. SNAPSHOT I, by ?????:
>From the stage editor, assume you have an object that has the effect of
explode. Goto the last frame of the animation (again, assuming that this
is a x-frame length animation where explode runs from frame 1 to frame x).
You will see the object is in pieces according to your description of
explode. Select the object (eg, place the cross-hairs over the object's
axis origin and click). Select snapshot. You will then be presented with
a file requestor for an object file. Type in object's_name.exploded.
Now go into detail editor and load object's_name.exploded. You will then
load the "exploded" version of the object.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
54. SNAPSHOT II, by Scott Sutherland:
I do not know about your exact situation with the STAGE editor, but let me
tell you my encounter with something similar that may help you out. I was
attempting to MORPH two objects together. I had created one of them using
the DETAIL editor, saved it, and then used the various tools in the DETAIL
editor to alter it to its final 'morphed' form. I then went to the STAGE
editor and loaded object one for one frame. Then I loaded object 2 for
frames 2-25. I looked at the FIRST and LAST frames and all looked well.
Then I chose ANIMATE to do a wire-frame preview. What I saw was that, while
my object morphed, it stretched along the X axis by ~30%. Well, I checked to
see if the final object was larger than the initial one (loaded them on top
of one another in the DETAIL editor). They were the SAME 'apparent' size.
I put apparent in quotes because this WAS my problem. I looked at frame
1 of the animation, selected the object, and checked its size. I then
looked at the final object in frame 25 and checked its size. THEY were the
SAME. However, when I looked at them in the DETAIL editor, their Y sizes
were NOT the same. I guess that the size is taken from the axes or
something. Armed with this knowledge, I went back to the STAGE editor and
into the ACTION editor. I noticed that my SIZE line for the morphed object
was only defined for FRAME 1. I selected INFO and the clicked on the
object size. I altered the FINAL frame number to 25 and tried again. I
got the SAME result as before (morphing and stretching). Finally, I went to
FRAME 25 of the morphed object's SIZE line and changed the size to the
numbers given to me in the DETAIL editor for the final object. THIS SOLVED
THE PROBLEM!!! Thus, check all initial and final sizes and play around
with the object's SIZE timeline.
As for the TRACK axis, I had similar problems. I just deleted my TRACK
object and reloaded it clicking once on the first frame of the animation
and once on the last frame to give it a timeline over the entire animation.
I hope this helps (you and anyone else having problems).
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
55. Starfields I, by Matt Feifarek:
The best star generator that I know of is Dpaint...
Hires, grey scale palette...
Set the range to be the whole palette.
Turn on cycle draw.
SIze the airbrush REALLY big ( 500+)
click... instant star field.
Map this onto a ground object (with repeat if you want), and use it
like a ceiling.
The different grey levels give the impression of different star magnitudes
and sizes.
The only drawback to this is that there is no parallax, but there is VERY
little in real life, unless you are travelling at near-light velocity.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
56. Starfields II, by Juan Trevino:
One way to make a moving starfield in an animation (assuming this is
an ANIM OP 5 format) is to load the anim into DPAINT. Then, using Kara's
Starfields, you can use a stencil to place them behind your image. Of course,
you will have to have enough RAM to load the anim in as an ANIMBRUSH. This
should theoretically work, although I haven't tried it. BTW, when you render,
you should use the Genlock Background option in the Action/Global menu.
Another way, maybe easier, would be to load up the KARA Starfield
Anim into DPAINT, then save them out as separate frames. Then use the
feature of IMAGINE to Flat X Flat Z wrap them onto a plane using all the
frames in an animation. Get my drift?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
57. TEXTURE AXIS, by denbeste@ursa-major.spdcc.com:
The texture axis is the reference from which the texture algorithm calculates
its discontinuities. If you place the texture axis at 100,100,100 and are
using "checks" with cube-size of 40, then on each axis the color changes will
occur at -20, 20, 60, 100, 140, 180 etc.
If you set up a cube (or a "ground") so that it lays exactly at one of these
change planes, you'll get what they refer to as "digital bounce" which means
that the color is indeterminate and it effectively makes a random choice.
You need to offset the texture axis so that the surfaces of your object do
not lay on such change planes.
The "brick" texture isn't any more complex conceptually than "checks", it
just has more of these color planes to watch out for. For example: If your
"brick" texture is centered at 0,0,0 and has brick size of 40,40,40 and
mortar size of 10,10,10, then on the X axis there's a color change plane
at 0, 40, 50, 90, 100, 140, 150 etc.
>With the cube, axis in the exact center, where do I place the axis of the
>Texture? in the cube? out of the cube?
Since a texture extends infinitely far in all directions,this doesn't matter.
What IS important, as stated above, is to place the axis so that none of the
surfaces of the object lay exactly on any color-change plane.
> Maybe I should move the axis of he cube?
The axis of the texture is kept relative to the axis of the cube, so moving
the cube won't cause manifestation of the texture to change.
> How big should I scale the Texture, does this matter at all?!
You should scale the texture to make the result look the way you want. For
instance, you need to make sure you don't make it too large, or else your
cube might end up being one big brick - which is rather pointless. Equally,
if you make the texture too small, your cube might become a hundred million
tiny bricks, which is equally pointless.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
58. TEXTURES, by Steve Worley (a full treatise on the topic):
No matter how good you are at creating objects, they are never detailed
enough, especially in surface appearance. Textures allow you to quickly
give your objects a complex, detailed surface without much work. A
woodgrained picture frame has a lot more character than a flat brown one.
Textures are just algorithms that Imagine uses to decide how to color
a particular point on the surface of an object. Textures can also determine
the transparency, reflection, and surface angle at each point. They
can even be layered on top of each other for more complex effects.
Each texture has its own particular inputs. Most of the time, you need
to enter a color, transparency, and reflection value for whatever detail the
texture is applying to your object. These are raw numbers- no sliders. I
often use the color sliders in the attribute requester to chose the texture
color or whatever, then write the numbers I want down. [Remember to reset
the default color!]
Note that for most textures, when I say "color" I mean surface color,
reflection, and transparency. Most textures can set all three!
Some textures, like disturb, will affect surface light reflection like
altitude brush maps do. More on altitude maps in the next article.
There are often a few extra parameters to set dealing with the way the
texture is applied. This might be check spacing, wood grain thickness, or
brick size. These are pretty straightforward, especially since the
photocopied Imagine Manual addenda have OK descriptions of what each
parameter does. One very important note: Any raw size measurement, like
check size, (anything that measures a distance) is measured in STAGE EDITOR
units. Huh? What I mean is that if your check size is 100, every 100 units
in the STAGE editor you'll get a new check. This won't matter if you don't
resize your objects in the stage editor, but if you design a checkerboard
thats 80 units wide, and set check distance to 10, things might work out
great. If, however, you scale the object in the STAGE editor to 160, you're
going to get 16 checks across. -->Texture parameters do NOT scale with
objects<-- The only other parameter is the texture axis, which can be
manually edited. The texture axis is pretty important. For most textures,
you need a "base" location and orientation to give the details a reference.
For example, the linear texture needs to know where the "fade" starts and
what direction to fade in. What you do is just place the texture axis
where you want the fade, and point the Z axis in the direction you
want it to go. The wood texture at it's simplest is a bunch of
concentric cylinders of coloring. Where should the center be, and
which direction should the cylinder point? The texture axis will tell
you. Some textures don't care about the axis, though, like Camo.
An important point- if your texture axis is RIGHT on a face, you might
get some funky effects, since for a texture like checks, the surface of the
object is EXACTLY where the checks change. The algorithm does not know what
color to return, so you get what Impulse calls a "digital bounce." This is
most common when you're texture mapping a flat plane. Fix: move the texture
axis just a tiny bit.
A tip- wood looks best when the axis is nearly, though not quite, parallel
to the longest object dimension. This gets you nice grain cross sections,
and looks more realistic (who ever cut two-by-fours across the grain?)
I could go into a discourse about each texture, but that'd take a
lot of time. The trick is to play with them! Mike Halvorson loves
to say "just play with the feature, you'll get it", which I find
true, but very vague and annoying to users who are already confused.
However, for people who are comfortable with Imagine, its the best
way to extend your mastery and produce some truly delightful scenes.
Many, if not all, textures only affect some parts of an object.
The camouflage texture is an excellent example. You set the default color
of the object from the attributes requester. The Camo texture then
layers its spots ON TOP of this default. If there is no spot on a
particular location, the default color will show through. This is
true with most textures. Wood only adds the "grain" and lets the object's
default color become the normal woody non-grain parts. Linear gradually
fades from the default to another color. Checks adds color on its checks
and lets the default attributes stay in the opposing checks.
Why is this important? Well, this can be used to our great advantage. YOU
CAN ADD UP TO FOUR TEXTURES simultaneously. They are added in order
from 1 to 4. What can you do with this? Well, you can take a desk, and
with Texture 1 add a wood texture. Then you can add a camo texture as #2,
and the spots will cover up the wood, but you'll see GRAINED wood where
there are no spots and NONGRAINED, solid color spots where there's a
camo spot. This can be used up to four times.
I have an island (I'm working on "Ocean Sunset") and I've given the
Vista-created terrain three textures. First, a Radial texture which
varies the base color from two subtle shades of sandy-brown. Second,
my sandstone texture (I posted long ago) to simulate the sandy shores.
[Maybe camo with TINY spots would work.. Hmmm] Then, a linear which
fades the beach into a nice vegetation green color once you get past
a certain distance from the beach. These give the island a nice,
detailed character that I'd never be able to match by picking and
coloring individual polygons.
Louis Markoya's Surface Master has some example combinations of textures.
He has pictures that show how the different texture parameters affect the
final object appearance. I believe he showed all the textures except Camo.
He also had a selection of parameters for the wood texture for different
pieces of wood- it was VERY nice. The examples of combinations of textures
(like dots on brick) were pretty cheesy, though.
The most useful textures are probably wood and linear. Wood can
do a lot of powerful effects, and linear is useful everywhere. The
other textures are useful, too, of course, but I use linear and wood
the most. There are a lot of impressive things you can do by abusing
textures :-) Here's a fun one:
o Create an object. A long logo works great. Color it and texture it
any way you want.
o Add a linear texture, set the Z transition width to about 20% of the
object length. Put the texture axis way over to one end, oriented
towards the center of the logo or whatever. Make the color of the
texture be black, no reflection, and 255 255 255 filter. Yes, completely
transparent. Make sure the linear texture is the last one if you
already have some other textures on the object.
o Render. You should have basically an invisible object, since the
linear texture is completely transparent and covers the whole
logo. Fix the axis if its pointed the wrong way.
o Copy the object. Move the texture axis way to the other side, oriented
the same way. Save it with a DIFFERENT filename. Test render. It should
look just like your normal object without a funky linear texture.
It should certainly NOT be transparent.
o The fun part. In the action editor, morph object one into object two.
The only change is the texture axis, so Imagine will interpolate
its location from one end of the logo to the other for each frame.
Make the animation at least 10 frames, preferably 20. You can render
in scan- it'll work just fine.
What happens is the linear transition band "flies" across the logo,
fading the logo in as it moves from one side to the other. It's an
impressive way to introduce an object into a scene! It is also pretty
easy to do... 10 minutes tops.
Textures are really powerful, and if you haven't played with them, START!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
59. Wall Paintings, by Udo Schuermann:
Juha Kallioinen <s37804r@puukko.hut.fi> writes:
> I'm making a painting with a wooden frame to be hang on a wall.
> There popped up a problem with the brush and the wood texture.
> If I put the brush inside the frame like the awful picture down there
> shows, I get the wood grain rendered on the brush, and that is not what
> I meant. What should I do with my texture parameters ?
The solution is to separate the frame and the backing upon which you
map the brush (front view):
_________
| _______ |<--frame (object 1)
|| |<---backpane (object 2)
|| ||
|| ||
||_______||
|_________|
The Backpane gets the IFF brush mapped onto it; the frame gets the
wood texture. Group the two objects together and save them as a
group. Voila!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
60. Walls I, by Mark Thompson:
I am surprised no one has mentioned the method I would have used. Create a
2D outline of the floorplan and extrude it up. Then simply pop a ceiling
and floor on it. The floorplan could be created either in Imagine or even
a paint program and then auto-traced. This means you will have to bust up
a few polygons to add the windows and doors but that is a minor task if
you have a complex floorplan. I'm not sure how difficult it would be to add
the windows/doors in Imagine's modeler, but it would be a breeze in
LightWave. Hope this helps.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
61. Walls II, by Steve Worley:
Two methods. First, you can design your walls to be nice dimensions
like 100 or 1024 instead of 383.38. Place your axis at the corner
of each wall. Then, to get seamless joins, use "snap to grid" in
the project editor which will instantly adjust your walls to a perfect
fit. [As long os your wall lengths are muliples of the grid line spacing.]
The other cheesy option is to make your walls too big. Then INTERSECT them.
You get a mess BEHIND the wall, but if you don't look there, you'll never
see it.
wall 1 |
------------------+--
|
| wall 2
|
|
|
camera X
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
62. WORLD SIZE I, by ???????
So THAT's how you change the world size! The size requester in the
Globals section!!!!! Is this true? I'm gonna play with it, but has
anybody else found this?-
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
63. World Size II, by Steve Worley:
Juan asks about world sizes.
Here's my thoughts on them. World size is an awfully confusing option
in Imagine, which I think shouldn't even exist. Basically, what
happens is that when in TRACE mode, there is an algorithm that sorts
objects (and parts of objects) in a rough depth order so that figuring
out what obscures what is a bit faster. The world size tells Imagine
how big of a volume to expect objects in (what volume to sort).
Unfortunately, if you have objects outside this volume, they won't be
sorted and probably won't even be rendered. Thus, keeping your objects
INSIDE the world is important.
However, if you keep your objects contained within your world by
making EVERYTHING really tiny, your objects will take up only a small
volume of the world. When Imagine starts "sorting the world" it has to
wade through a lot of empty space to "get to" your objects.
Unfortunately, all of the extra empty volume takes time to sort
though, so the rendering slows down. Sometimes this slowdown is
DRAMATIC, like 10 times slower in trace.
[Forgive the handwaving explanations of an octree. I know you're
groaning, Mark.]
Thus, there is a certain scale you want to make all of your objects.
You do NOT want to make your objects larger than the world, or they
won't render. You also do NOT want to make your objects too small, or
you'll wait forever to render.
The way you can manually change world size is by adding a size bar to
the GLOBALS actor in the Action Editor. Unfortunately, a lot of people
use this to get around the sizing problem. Unfortunately, because a
lot of people don't know exactly what it does and MISusing global
world size is a very frustrating experience. You're welcome to play
with this "solution", but I'll give my FOOLPROOF method of sizing.
Steve's Foolproof World Size:
The DEFAULT world size is a cube that is 2048 units wide, high, and
deep, centered around 0 0 0. [X, Y, and Z coordinates range from -1024
to +1024] As long as all of your objects are within this range, they
will render, and you do NOT have to add a size bar to the Global
actor. This is the big trick- use the default! If you start mucking
with size bars, you're gonna confuse yourself. I do.
"But what if an object accidentally goes outside the volume? Don't I
have to increase the world size then?"
Well, no. You can always move and rescale your scene to fit inside the
world volume. Remember you might also have a scene that is too SMALL
so it takes forever to render, and this situation is almost at bad as
having cut-off objects.
What you do (and what _I_ always do) is design my scene at about the
right scale (ie, my scene's objects stay within a volume about 2048
units on a side.) I do NOT worry about going outside the volume or
trying to keep things big. I make sure that I don't do something
boneheaded like make cars 1 unit wide or 10000 units wide. The best
way to do this is to set a grid size of about 50. If I zoom in too
much, the grid dissapears, reminding me I might have the scale too
small. If I zoom way out, the grid blurs into a near-solid patters,
remining me I'm on a too-large scale. Remember, I'm not really paying
attention to the real size, I'm just making sure that I'm somewhere
within an order of magnitude of it.
Finally, when my scene is done, I use a trick to make everything fit
into the world nice and neatly. First, I set the grid size to 1023.
This makes the world size easy to see, its the volume between the first
grid lines. I select an object near the center of my scene, then I
multi-pick ALL of the objects (by holding down the shift key and
clicking on the objects one at a time.) This INCLUDES the camera and
the lights. Nothing should be left out: no objects drawn in white
should be on the scene.
Then (I) hit "m" for move. ALL of the objects are moved at the same
time, and their relative positions are not changed. Move the objects
so that they are centered about the 0 0 0 world origin. "Centered"
means the the far leftmost object is as far away from the origin as
the rightmost object, the frontmost is as far in front of the origin
as the backmost object is in back of the origin, etc.
Now, hit "s" to scale the objects. ALL of the objects will shrink or
expand around one point (the object you selected first). You want to
size the objects so that they JUST fit into the world volume that
you've defined by the grid lines. Usually just one dimension is the
limiting factor; size the objects to that the largest dimension fits.
(DON'T individually size the X,Y,Z dimensions!) You might want to use
"m" again if the shrinking/expanding scene moves off of center. Your
final configuration should have all of the objects centered inside
the world with the objects taking up most of the volume of the world
(in at least one direction).
The beauty of this method is twofold: first, you don't have to muck
with world size, but everything will render at optimum speed. Second,
you don't have to pay attention to world size while you create your
scene. The resizing will NOT, repeat will NOT, change your camera
views! The camera is resized with your objects, so everything stays in
proper perspective (literally). (The technical explanation is that
cameras measure angles, not distances.)
Thats it. I don't worrry about world sizes or slow renders now.
Frankly, I never understood how to tweek world size for perfect
renders, so this method saved me a lot of grief.
==================== end of compendium main body ============================